構造体         <Top>

ABC構造体

 

Type ABC
    abcA As Long      '文字の A スペーシングを指定
    abcB As Long      '文字の B スペーシングを指定
    abcC As Long      '文字の C スペーシングを指定
End Type


ABCFLOAT構造体

 

Type ABCFLOAT
    abcfA As Double   '文字の A スペーシングを指定(文字のグリフを描画する前に現在位置に加算される距離)
    abcfB As Double   'B スペーシングを指定(文字のグリフの描画部分の幅)
    abcfC As Double   '文字の C スペーシングを指定(文字のグリフの右側に余白をとるために現在位置に加算される距離)
End Type


ACL構造体

Type ACL
    AclRevision As Byte
    Sbz1        As Byte
    AclSize     As Integer
    AceCount    As Integer
    Sbz2        As Integer
End Type


ACMDRIVERDETAILS構造体

 

#define ACMDRIVERDETAILS_SHORTNAME_CHARS 32
#define ACMDRIVERDETAILS_LONGNAME_CHARS 128
#define ACMDRIVERDETAILS_COPYRIGHT_CHARS 80
#define ACMDRIVERDETAILS_LICENSING_CHARS 128
#define ACMDRIVERDETAILS_FEATURES_CHARS 512

Type ACMDRIVERDETAILS
    cbStruct    As Long
    fccType     As String * 4
    fccComp     As String * 4
    wMid        As Integer
    vdwDriver   As Long
    fdwSupport  As Long
    cFormatTags As Long
    cFilterTags As Long
    hIcon       As String * ACMDRIVERDETAILS_SHORTNAME_CHARS32
    szLongName  As String * ACMDRIVERDETAILS_LONGNAME_CHARS
    szCopyright As String * ACMDRIVERDETAILS_COPYRIGHT_CHARS
    szLicensing As String * ACMDRIVERDETAILS_LICENSING_CHARS
    szFeatures  As String * ACMDRIVERDETAILS_FEATURES_CHARS
End Type


ACMFORMATCHOOSE構造体


Type ACMFORMATCHOOSE
    cbStruct        As Long
    fdwStyle        As Long
    hwndOwner       As Long
    pwfx            As Long
    cbwfx           As Long
    pszTitle        As String
    szFormatTag(ACMFORMATTAGDETAILS_FORMATTAG_CHARS -1) As Byte
    szFormat(ACMFORMATDETAILS_FORMAT_CHARS - 1)         As Byte
    pszName         As String
    cchName         As Long
    fdwEnum         As Long
    pwfxEnum        As Long
    hInstance       As Long
    pszTemplateName As String
    lCustData       As Long
    pfnHook         As Long
End Type


ADAPTER_STATUS構造体

 

Type ADAPTER_STATUS
    adapter_address(5) As Byte    'encoded address of the adapter
    rev_major          As Byte    'major software-release level. This value is 3 for IBM NetBIOS 3. x
    reserved0          As Byte    'This value is always zero
    adapter_Type       As Byte    'adapter type. This value is 0xFF for a Token Ring adapter or 0xFE for an Ethernet adapter
    rev_minor          As Byte    'minor software-release level. This value is zero for IBM NetBIOS x.0
    duration           As Integer 'duration of the reporting period, in minutes
    frmr_recv          As Integer 'number of FRMR frames received
    frmr_xmit          As Integer 'number of FRMR frames transmitted
    iframe_recv_err    As Integer 'number of I frames transmitted in error
    xmit_aborts        As Integer 'number of aborted transmissions
    xmit_success       As Long    'number of successfully transmitted packets
    recv_success       As Long    'number of successfully received packets
    iframe_xmit_err    As Integer 'number of I frames transmitted in error
    recv_buff_unavail  As Integer 'number of times a buffer was not available to service a request from a remote computer
    t1_timeouts        As Integer 'number of times that the DLC T1 timer timed out
    ti_timeouts        As Integer 'number of times that the ti inactivity timer timed out
    Reserved1          As Long    'Reserved. This value is always zero
    free_ncbs          As Integer 'current number of free network control blocks
    max_cfg_ncbs       As Integer 'Undefined for IBM NetBIOS 3.0
    max_ncbs           As Integer 'Undefined for IBM NetBIOS 3.0
    xmit_buf_unavail   As Integer 'Undefined for IBM NetBIOS 3.0
    max_dgram_size     As Integer 'maximum size of a datagram packet. This value is always at least 512 bytes
    pending_sess       As Integer 'number of pending sessions
    max_cfg_sess       As Integer 'configured maximum pending sessions
    max_sess           As Integer 'Undefined for IBM NetBIOS 3.0
    max_sess_pkt_size  As Integer 'maximum size of a session data packet
    name_count         As Integer 'number of names in the local names table
End Type

 

MACアドレスを取得


ADDJOB_INFO_1構造体

 

Type ADDJOB_INFO_1
    Path  As String
    JobId As Long
End Type


APPBARDATA構造体(タスクバーメッセージを定義 )
 

Type APPBARDATA
    cbSize           As Long    '構造体のサイズ
    hWnd             As Long    'アプリケーションのウィンドウのハンドル
    uCallbackMessage As Long    'コールバック関数へのポインタ
    uEdge            As Long    'アプリケーションバーの位置
    rc               As RECT    'アプリケーションバーの矩形(RECT構造体)
    lParam           As Long    'メッセージパラメータ
End Type

 

参考

Declare Function Api_SHAppBarMessage& Lib "shell32" Alias "SHAppBarMessage" (ByVal dwMessage&, pData As APPBARDATA)

 

タスクバーの位置とサイズ

タスクバーの表示・非表示


ASTAT構造体

 

Type ASTAT
    adapt        As ADAPTER_STATUS
    NameBuff(30) As NAME_BUFFER
End Type

 

MACアドレスを取得


AUXCAPS構造体

 

Type AUXCAPS
    wMid           As Integer
    wPid           As Integer
    vDriverVersion As Long
    szPname        As String * MAXPNAMELEN
    wTechnology    As Integer
    dwSupport      As Long
End Type


AVICOMPRESSOPTIONS構造体

 

Type AVICOMPRESSOPTIONS
    fccType           As Long
    fccHandler        As Long
    dwKeyFrameEvery   As Long
    dwQuality         As Long
    dwBytesPerSecond  As Long
    dwFlags           As Long
    lpFormat          As Long
    cbFormat          As Long
    lpParms           As Long
    cbParms           As Long
    dwInterleaveEvery As Long
End Type


AVIFILEINFO構造体

 

Type AVIFILEINFO
    dwMaxBytesPerSec      As Long    'ファイルのデータレートのほぼ最大値
    dwFlags               As Long    '拡張可能なフラグ
    dwCaps                As Long    '適応フラグ
    dwStreams             As Long    'ファイル中のストリーム数
    dwSuggestedBufferSize As Long    '読み込み時に必要となる予想されるバッファサイズ(バイト)
    dwWidth               As Long    'AVIファイル中の幅(ピクセル)
    dwHeight              As Long    'AVIファイル中の高さ(ピクセル)
    dwScale               As Long    '全ファイルに適応できるタイムスケール
    dwRate                As Long    '(dwRate÷dwScale)は秒間サンプル数
    dwLength              As Long    'AVIファイルサイズ。単位は(dwRate÷dwScale)
    dwEditCount           As Long    'AVIファイルに追加、またはAVIファイルから削除されたストリームの数
    szFileType            As String * 64  'ファイルタイプ情報の記述を含む、Nullで終わる文字列
End Type
 

参考
Declare Function Api_AVIFileInfo& Lib "avifil32" Alias "AVIFileInfoA" (ByVal pFile&, pfi As AVIFILEINFO, ByVal lSize&)

 

AVIファイルの情報取得


AVISTREAMINFOA構造体

 

Type AVISTREAMINFOA
    fccType               As Long
    fccHandler            As Long
    dwFlags               As Long
    dwCaps                As Long
    wPriority             As Integer
    wLanguage             As Integer
    dwScale               As Long
    dwRate                As Long
    dwStart               As Long
    dwLength              As Long
    dwInitialFrames       As Long
    dwSuggestedBufferSize As Long
    dwQuality             As Long
    dwSampleSize          As Long
    rcFrame               As RECT
    dwEditCount           As Long
    dwFormatChangeCount   As Long
    szName                As String * 64
End Type


AXISINFO構造体

 

Type AXISINFO
    axMinValue As Long
    axMaxValue As Long
    axAxisName As String * MM_MAX_AXES_NAMELEN
End Type


 

BITMAPINFO構造体

 

Type BITMAPINFO
    bmiHeader As BITMAPINFOHEADER
    bmiColors As RGBQUAD
End Type

 

スクリーンショットを平行四辺形で表示


AXESLIST構造体

 

#define MM_MAX_NUMAXES 16

Type AXESLIST
    axlReserved As Long
    axlNumAxes  As Long
    axlAxisInfo(MM_MAX_NUMAXES) As AXISINFO
End Type


BITMAP構造体


Type BITMAP
    bmType       As Long      'ビットマップ タイプを指定(0)
    bmWidth      As Long      'ビットマップの幅を指定
    bmHeight     As Long      'ビットマップの高さを指定
    bmWidthBytes As Long      '1 走査線あたりのバイト数を指定
    bmPlanes     As Integer   'カラープレーンを指定(通常1)
    bmBitsPixel  As Integer   '1 ピクセルを定義するのに必要なビット数を指定
    bmBits       As Long      'ビット データが格納されているの配列へのポインタを指定
End Type


BITMAPINFOHEADER構造体

 

Type BITMAPINFOHEADER   '40バイト
    biSize          As Long    'イメージ バッファのバイト数
    biWidth         As Long    '幅
    biHeight        As Long    '高さ
    biPlanes        As Integer '常に1
    biBitCount      As Integer '1ピクセルあたりのカラービット数
    biCompression   As Long    '圧縮方法
    biSizeImage     As Long    'ピクセルデータの全バイト数
    biXPelsPerMeter As Long    '0または水平解像度
    biYPelsPerMeter As Long    '0または垂直解像度
    biClrUsed       As Long    'ビットマップを表示するための色数(0)
    biClrImportant  As Long    'ビットマップを表示するための重要な色数(0)
End Type

 

スクリーンショットを平行四辺形で表示


BLENDFUNCTION構造体(アルファブレンドに関する情報 )
 

#define AC_SRC_OVER &H0
#define AC_SRC_ALPHA &H1

Type BLENDFUNCTION
    BlendOp             As Byte 'ブレンド操作(AC_SRC_OVER)
    BlendFlags          As Byte '常に0
    SourceConstantAlpha As Byte 'コピー元のビットマップ全体に適用するアルファ値
    AlphaFormat         As Byte 'コピー元のビットマップがアルファ値を持つとき(AC_SRC_ALPHA)
End Type


参考

Declare Function Api_GdiAlphaBlend& Lib "gdi32" Alias "GdiAlphaBlend" (ByVal hDC&, ByVal lInt&, ByVal lInt&, ByVal lInt&, ByVal lInt&, ByVal hdc&, ByVal lInt&, ByVal lInt&, ByVal lInt&, ByVal lInt&, ByVal BLENDFUNCT&)

 

GdiAlphaBlendで画像転送


BROWSEINFO構造体

Type BROWSEINFO
    hwndOwner      As Long       'ダイアログボックスの親ウィンドウハンドル
    pidlRoot       As Long       'ルートフォルダを指定
    pszDisplayName As String     'ユーザが選択したフォルダ名
    lpszTitle      As String     'ダイアログボックスの表示するコメント文
    ulFlags        As Long       '動作方法を指定する定数の組み合わせ(不用時0)
    lpfn           As Long       'コールバック関数へのポインタ
    lParam         As Long       'コールバック関数へのパラメータ
    iImage         As Long       'フォルダ用アイコンのシステムイメージリストのID(不用時0)
End Type


BY_HANDLE_FILE_INFORMATION構造体

 

Type BY_HANDLE_FILE_INFORMATION

    dwFileAttributes     As Long

    ftCreationTime       As FILETIME

    ftLastAccessTime     As FILETIME

    ftLastWriteTime      As FILETIME

    dwVolumeSerialNumber As Long

    nFileSizeHigh        As Long

    nFileSizeLow         As Long

    nNumberOfLinks       As Long

    nFileIndexHigh       As Long

    nFileIndexLow        As Long

End Type


CANDIDATEFORM構造体

 

Type CANDIDATEFORM
    dwIndex      As Long
    dwStyle      As Long
    ptCurrentPos As POINTAPI
    rcArea       As RECT
End Type


CANDIDATEINFO構造体


Type CANDIDATEINFO
    dwSize          As Long
    dwCount         As Long
    dwOffset(31)    As Long
    dwPrivateSize   As Long
    dwPrivateOffset As Long
End Type


CANDIDATELIST構造体

 

Type CANDIDATELIST
    dwSize      As Long
    dwStyle     As Long
    dwCount     As Long
    dwSelection As Long
    dwPageStart As Long
    dwPageSize  As Long
    dwOffset(0) As Long
End Type


CHARSETINFO構造体

 

Type CHARSETINFO
    ciCharset As Long
    ciACP     As Long
    fs        As FONTSIGNATURE
End Type


CHOOSECOLOR構造体

 

Type CHOOSECOLOR
    lStructSize    As Long        '構造体のサイズ
    hwndOwner      As Long        'ダイアログボックスを所有するウィンドウのハンドル
    hInstance      As Long        '使用するダイアログ テンプレートを含むメモリ オブジェクトへのハンドル
    rgbResult      As Long        'ダイアログボックスの初期表示で選択する色
    lpCustColors   As Long        '16個の基本色が格納されているバッファへのポインタ
    flags          As Long        'ダイアログボックスの初期化フラグ
    lCustData      As Long        'lpfnHook メンバが示すフック プロシージャへ渡すデータ
    lpfnHook       As Long        'フック プロシージャへのポインタ
    lpTemplateName As String * 4  'hInstance メンバが示すモジュール内にあるダイアログテンプレート
End Type

参考

Declare Function Api_ChooseColor& Lib "comdlg32" Alias "ChooseColorA" (lpcc As CHOOSECOLOR)

 

カラー選択ダイアログを開く


CHOOSEFONT構造体

Type CHOOSEFONT
    lStructSize       As Long      '構造体のサイズ
    hwndOwner         As Long      'ダイアログの親ウィンドウのハンドル
    hDC               As Long      'プリンタデバイスコンテキストのハンドル
    lpLogFont         As Long      'ダイアログを初期化するためにフォントの属性を指定するLOGFONT構造体へのポインタ
    iPointSize        As Long      '(戻り値)フォントのポインタサイズ(1/10ポイント単位)
    flags             As Long      '動作を指定する定数の組み合わせ
    rgbColors         As Long      '(戻り値)フォントのカラー有効な数値を設定した場合
    lCustData         As Long      'フックプロシージャに渡すユーザー定義データ
    lpfnHook          As Long      'ユーザー定義のフックプロシージャへのポインタ
    lpTemplateName    As String    'モジュール内にあるダイアログ テンプレートを指定
    hInstance         As Long      'テンプレートリソースを持つモジュールのインスタンスハンドル
    lpszStyle         As String    '(戻り値)フォントのスタイル
    nFontType         As Integer   '(戻り値)フォントのタイプを指定する定数の組み合わせ
    MISSING_ALIGNMENT As Integer   'nFontTypeが16ビットなので調整用
    nSizeMin          As Long      '選択可能なフォントの最小サイズ
    nSizeMax          As Long      '選択可能なフォントの最大サイズ
End Type


CLIENTCREATESTRUCT構造体

Type CLIENTCREATESTRUCT
    hWindowMenu  As Long     'ポップアップメニューのハンドル
    idFirstChild As Long     '最初のMDI子ウィンドウにつけるID
End Type


COLORADJUSTMENT構造体

 

Type COLORADJUSTMENT
    caSize            As Integer     'size, in bytes, of the structure
    caFlags           As Integer     'Specifies how the output image should be prepared
    caIlluminantIndex As Integer     'type of standard light source under which the image is viewed
    caRedGamma        As Integer     'nth power gamma-correction value for the red primary of the source colors
    caGreenGamma      As Integer     'nth power gamma-correction value for the green primary of the source colors
    caBlueGamma       As Integer     'nth power gamma-correction value for the blue primary of the source colors
    caReferenceBlack  As Integer     'black reference for the source colors
    caReferenceWhite  As Integer     'white reference for the source colors
    caContrast        As Integer     'amount of contrast to be applied to the source object
    caBrightness      As Integer     'amount of brightness to be applied to the source object
    caColorfulness    As Integer     'amount of colorfulness to be applied to the source object
    caRedGreenTint    As Integer     'amount of red or green tint adjustment to be applied to the source object
End Type

 

画像をハーフトーンで転送


COMBOBOXINFO構造体

 

Type COMBOBOXINFO
    cbSize      As Long
    rcItem      As RECT
    rcButton    As RECT
    stateButton As Long
    hwndCombo   As Long
    hwndEdit    As Long
    hwndList    As Long
End Type


COMMCONFIG構造体

 

Type COMMCONFIG
    dwSize            As Long
    wVersion          As Integer
    wReserved         As Integer
    dcbx              As DCB
    dwProviderSubType As Long
    dwProviderOffset  As Long
    dwProviderSize    As Long
    wcProviderData    As Byte
End Type


COMMTIMEOUTS構造体

 

Type COMMTIMEOUTS
    ReadIntervalTimeout         As Long
    ReadTotalTimeoutMultiplier  As Long
    ReadTotalTimeoutConstant    As Long
    WriteTotalTimeoutMultiplier As Long
    WriteTotalTimeoutConstant   As Long
End Type


COMPOSITIONFORM構造体

 

Type COMPOSITIONFORM
    dwStyle      As Long
    ptCurrentPos As POINTAPI
    rcArea       As RECT
End Type


COMSTAT構造体

 

Type COMSTAT
    fBitFields As Long
    cbInQue    As Long
    cbOutQue   As Long
End Type


CONSOLE_CURSOR_INFO構造体

 

Type CONSOLE_CURSOR_INFO
    dwSize   As Long
    bVisible As Long
End Type


CONSOLE_SCREEN_BUFFER_INFO構造体

 

Type CONSOLE_SCREEN_BUFFER_INFO
    dwSize              As COORD
    dwCursorPosition    As COORD
    wAttributes         As Integer
    srWindow            As SMALL_RECT
    dwMaximumWindowSize As COORD
End Type


COORD構造体
 
Type COORD
    X As Integer      'X座標
    Y As Integer      'Y座標
End Type

CPINFO構造体

 

#define MAX_LEADBYTES 12
#define MAX_DEFAULTCHAR 2

Type CPINFO
    MaxCharSize                  As Long 'max length (Byte) of a char
    DefaultChar(MAX_DEFAULTCHAR) As Byte 'default character
    LeadByte(MAX_LEADBYTES)      As Byte 'lead byte ranges
End Type


CPINFOEX構造体

 

#define MAX_LEADBYTES 12
#define MAX_DEFAULTCHAR 2
#define MAX_PATH 260

Type CPINFOEX
    MaxCharSize                  As Long    'max length (Byte) of a char
    DefaultChar(MAX_DEFAULTCHAR) As Byte    'default character
    LeadByte(MAX_LEADBYTES)      As Byte    'lead byte ranges
    UnicodeDefaultChar           As String
    CodePage                     As Long
    CodePageName(MAX_PATH)       As String
End Type


CREATESTRUCT構造体

Type CREATESTRUCT
    lpCreateParams As Long
    hInstance      As Long
    hMenu          As Long
    hwndParent     As Long
    cy             As Long
    cx             As Long
    y              As Long
    x              As Long
    style          As Long
    lpszName       As String
    lpszClass      As String
    dwExStyle      As Long
End Type


CURSORINFO構造体

Type CURSORINFO
    cbSize      As Long
    flags       As Long
    hCursor     As Long
    ptScreenPos As POINTAPI
End Type


DCB構造体

 

Type DCB
    DCBlength  As Long
    BaudRate   As Long
    fBitFields As Long
    wReserved  As Integer
    XonLim     As Integer
    XoffLim    As Integer
    ByteSize   As Byte
    Parity     As Byte
    StopBits   As Byte
    XonChar    As Byte
    XoffChar   As Byte
    ErrorChar  As Byte
    EofChar    As Byte
    EvtChar    As Byte
    wReserved1 As Integer
End Type


DESIGNVECTOR構造体

 

#define MM_MAX_NUMAXES 16

Type DESIGNVECTOR
    dvReserved As Long
    dvNumAxes  As Long
    dvValues(MM_MAX_NUMAXES) As AXESLIST
End Type


DEVMODE構造体(デバイスの初期化やプリンタの環境に関する情報を保持 )


Type DEVMODE
    dmDeviceName       As String * 32 'ドライバがサポートするデバイス名
    dmSpecVersion      As Integer     '構造体の基準になった初期化データ仕様のバージョン番号
    dmDriverVersion    As Integer     'プリンタドライバのバージョン番号
    dmSize             As Integer     'この構造体のサイズ(バイト単位)
    dmDriverExtra      As Integer     'この構造体に続くドライバ データのバイト数
    dmFields           As Long        '
    dmOrientation      As Integer     'DMORIENT_PORTRAIT(縦置き)、DMORIENT_LANDSCAPE(横置き)
    dmPaperSize        As Integer     '用紙サイズ
    dmPaperLength      As Integer     'dmPaperSizeメンバで指定した用紙の長さをオーバーライド
    dmPaperWidth       As Integer     'dmPaperSizeメンバで指定した用紙の幅をオーバーライド
    dmScale            As Integer     '印刷出力をスケーリングするときの、スケーリング係数
    dmCopies           As Integer     'デバイスが複数の部数に対応する場合、印刷する部数
    dmDefaultSource    As Integer     '予約済み(0)
    dmPrintQuality     As Integer     'プリンタの解像度(ドット/インチ)
    dmColor            As Integer     'カラープリンタの場合(DMCOLOR_COLOR・DMCOLOR_MONOCHROME)
    dmDuplex           As Integer     '両面印刷が可能なプリンタ(DMDUP_SIMPLEX・DMDUP_HORIZONTAL・DMDUP_VERTICAL)
    dmYResolution      As Integer     'プリンタのy方向の解像度(ドット/インチ)
    dmTTOption         As Integer     'TrueTypeフォントの印刷方法
    dmCollate          As Integer     '複数部数を印刷するときにページ順にそろえるかどうか
    dmFormName         As String * 32 'フォーム名を指定
    dmUnusedPadding    As Integer     '使用しない
    dmBitsPerPixel     As Integer     'ディスプレイ デバイスの解像度をピクセルあたりのビット数で指定
    dmPelsWidth        As Long        '可視のデバイスの表面の幅をピクセル単位で指定
    dmPelsHeight       As Long        '可視のデバイスの表面の高さをピクセル単位で指定
    dmDisplayFlags     As Long        'デバイスのディスプレイ モードを指定
    dmDisplayFrequency As Long        'ディスプレイデバイスのリフレッシュレート(垂直同期周波数)を1秒当たりのサイクル数(Hz)で指定
    dmICMMethod        As Long        '非ICMアプリケーションの場合に、ICMが使用可能かどうかを指定
    dmICMIntent        As Long        'カラーマッチング方法のデフォルトを指定
    dmMediaType        As Long        '印刷メディアのタイプを指定
    dmDitherType       As Long        'ディザリング方法を指定
    dmReserved1        As Long        '予約済み(0)
    dmReserved2        As Long        '予約済み(0)
    dmPanningWidth     As Long        'NT系(0)
    dmPanningHeight    As Long        'NT系(0)
End Type

参考
#define CCHDEVICENAME 32   'デバイス名の長さを示す定数
#define CCHFORMNAME 32     'フォーム名の長さを示す定数

Declare Function Api_ChangeDisplaySettings& Lib "user32" Alias "ChangeDisplaySettingsA" (lpDevMode As DEVMODE, ByValdwFlags&)

 

解像度変更

ディスプレイ解像度等の表示と変更

プリンタの印刷方向を設定

印刷ダイアログ表示とプリンタ名取得


DEVNAMES構造体

 

Type DEVNAMES
    wDriverOffset As Integer      'デバイスドライバのファイル名を表す文字列へのオフセットアドレス
    wDeviceOffset As Integer      'デバイスの名前を表す文字列へのオフセットアドレス
    wOutputOffset As Integer      '出力ポートのデバイス名をあらわす文字列へのオフセットアドレス
    wDefault      As Integer      '
    extra         As String * 100 '
End Type

 

印刷ダイアログ表示とプリンタ名取得


DISPLAY_DEVICE構造体

 

Type DISPLAY_DEVICE
    cbSize       As Long         '構造体のサイズ
    DeviceName   As String * 32  'デバイス名
    DeviceString As String * 128 'デバイス名の文字列
    StateFlags   As Long         '常に(0)
    DeviceID     As String * 128 'デバイスID
    DeviceKey    As String * 128 'デバイスキー
End Type

参考ディスプレイに関する情報を取得
Declare Function Api_EnumDisplayDevices& Lib "user32" Alias "EnumDisplayDevicesA" (Unused As any, ByVal iDevNum&, lpDisplayDevice As DISPLAY_DEVICE, ByVal dwFlags&)
 

解像度変更


DllVersionInfo構造体

 

Type DllVersionInfo
    cbSize         As Long
    dwMajorVersion As Long     'メジャーバージョン
    dwMinorVersion As Long     'マイナーバージョン
    dwBuildNumber  As Long     'ビルド番号
    dwPlatformID   As Long
End Type

 

参考
Declare Function Api_DllGetVersion& Lib "shlwapi" Alias "DllGetVersion" (dwVersion As DllVersionInfo)

 

IEのバージョン取得


DOC_INFO_1構造体

Type DOC_INFO_1
    pDocName    As String * 8
    pOutputFile As String * 8
    pDatatype   As String * 8
End Type


DOC_INFO_2構造体

Type DOC_INFO_2
    pDocName    As String * 8
    pOutputFile As String * 8
    pDatatype   As String * 8
    dwMode      As Long
    JobId       As Long
End Type


DOCINFO構造体

 

Type DOCINFO
    cbSize      As Long
    lpszDocName As Long
    lpszOutput  As Long
End Type

 

印刷ダイアログ表示とプリンタ名取得

APIを使った印刷

角度のある文字列印刷


DRAWDIBTIME構造体

 

Type DRAWDIBTIME
    timeCount      As Long
    timeDraw       As Long
    timeDecompress As Long
    timeDither     As Long
    timeStretch    As Long
    timeBlt        As Long
    timeSetDIBits  As Long
End Type


DRAWTEXTPARAMS構造体

 

Type DRAWTEXTPARAMS
    cbSize        As Long
    iTabLength    As Long
    iLeftMargin   As Long
    iRightMargin  As Long
    uiLengthDrawn As Long
End Type


DRIVER_INFO_1構造体

Type DRIVER_INFO_1
    pName As String
End Type


DRIVER_INFO_2構造体

Type DRIVER_INFO_2
    cVersion     As Long
    pName        As String
    pEnvironment As String
    pDriverPath  As String
    pDataFile    As String
    pConfigFile  As String
End Type


DRIVER_INFO_3構造体

Type DRIVER_INFO_3
    cVersion         As Long
    pName            As String
    pEnvironment     As String
    pDriverPath      As String
    pDataFile        As String
    pConfigFile      As String
    pHelpFile        As String
    pDependentFiles  As String
    pMonitorName     As String
    pDefaultDataType As String
End Type


ENHMETAHEADER構造体

 

Type ENHMETAHEADER
    iType          As Long
    nSize          As Long
    rclBounds      As RECT
    rclFrame       As RECT
    dSignature     As Long
    nVersion       As Long
    nBytes         As Long
    nRecords       As Long
    nHandles       As Integer
    sReserved      As Integer
    nDescription   As Long
    offDescription As Long
    nPalEntries    As Long
    szlDevice      As SIZE
    szlMillimeters As SIZE
End Type


ENUM_SERVICE_STATUS構造体

 

Type ENUM_SERVICE_STATUS
    lpServiceName As Long
    lpDisplayName As Long
    ServiceStatus As SERVICE_STATUS
End Type


ENUMLOGFONTEX構造体

 

#define LF_FACESIZE 32
#define LF_FULLFACESIZE 64

Type ENUMLOGFONTEX
    elfLogFont  As LOGFONT
    elfFullName As String * LF_FULLFACESIZE
    elfStyle    As String * LF_FACESIZE
    elfScript   As String * LF_FACESIZE
End Type


ENUMLOGFONTEXDV構造体

 

Type ENUMLOGFONTEXDV
    elfEnumLogfontEx As ENUMLOGFONTEX
    elfDesignVector  As DESIGNVECTOR
End Type


EXPLICIT_ACCESS構造体

 

Type EXPLICIT_ACCESS
    grfAccessPermissions As Long
    grfAccessMode As Long
    grfInheritance As Long
    pTRUSTEE As TRUSTEE
End Type


FILE_INFO_3構造体

 

Type FILE_INFO_3
    fi3_id          As Long
    fi3_permissions As Long
    fi3_num_locks   As Long
    fi3_pathname    As Long
    fi3_username    As Long
End Type


FILETIME構造体

 

Type FILETIME
    dwLowDateTime  As Long   '下位32ビット値
    dwHighDateTime As Long   '上位32ビット値
End Type

 

ファイルのファイルタイムを比較

ファイル検索とコピー

指定ディレクトリ内のファイル数を取得

ファイルのタイムスタンプを取得

フルパス名からファイル名を取得


FINDREPLACE構造体

 

Type FINDREPLACE
    lStructSize      As Long     '構造体のサイズ
    hwndOwner        As Long     'オーナーウィンドウハンドル
    hInstance        As Long     'インスタンスハンドル
    flags            As Long     '初期化フラグ
    lpstrFindWhat    As Long     '検索される文字列ポインタ
    lpstrReplaceWith As Long     '置換に使う文字列ポインタ
    wFindWhatLen     As Integer  'lpstrFindWhatの長さ
    wReplaceWithLen  As Integer  'lpstrReplaceWithの長さ
    lCustData        As Long     'フック関数に渡すデータ
    lpfnHook         As Long     'フック関数のポインタ
    lpTemplateName   As Long     '標準ダイアログボックスの変わりに使うダイアログボックス名
End Type


FIXED_INFO構造体

 

#define MAX_HOSTNAME_LEN 128    'ホスト名の最大長を示す定数の宣言
#define MAX_DOMAIN_NAME_LEN 128 'ドメイン名の最大長を示す定数の宣言
#define MAX_SCOPE_ID_LEN 256    'スコープIDの最大長を示す定数の宣言
 

Type FIXED_INFO
    HostName(MAX_HOSTNAME_LEN + 4 - 1)      As Byte
    DomainName(MAX_DOMAIN_NAME_LEN + 4 - 1) As Byte
    CurrentDnsServer As Long
    DnsServerList    As IP_ADDR_STRING
    NodeType         As Long
    ScopeId(MAX_SCOPE_ID_LEN + 4 - 1)       As Byte
    EnableRouting    As Long
    EnableProxy      As Long
    EnableDns        As Long
End Type


FLASHWINFO構造体(フラッシュ情報を定義する構造体 )

 

Type FLASHWINFO
    cbSize    As Long
    hWnd      As Long
    dwFlags   As Long
    uCount    As Long
    dwTimeout As Long
End Type

 

参考

Declare Function Api_FlashWindowEx& Lib "user32" Alias "FlashWindowEx" (pfwi As FLASHWINFO)

 

タイトルバーを点滅させる


FONT構造体

 

Type FONT

    Size      As Single

    Bold      As Integer

    Italic    As Integer

    UnderLine As Integer

    StrikeOut As Integer

    FFName    As String * 32

End Type

参考

Windows.biで定義されている。


FONTSIGNATURE構造体

Type FONTSIGNATURE
    fsUsb(4) As Long
    fsCsb(2) As Long
End Type


FORM_INFO_1構造体

 

Type FORM_INFO_1
    Flags         As Long
    pName         As Long
    Size          As SIZE
    ImageableArea As RECT
End Type

 

参考

SIZE および RECT は下記のとおり。

Type SIZEL
    cx As Long
    cy As Long
End Type

Type RECT
    Left   As Long
    Top    As Long
    Right  As Long
    Bottom As Long
End Type


GCP_RESULTS構造体

 

Type GCP_RESULTS
    lStructSize As Long
    lpOutString As String
    lpOrder     As Long
    lpDX        As Long
    lpCaretPos  As Long
    lpClass     As String
    lpGlyphs    As String
    nGlyphs     As Long
    nMaxFit     As Long
End Type


GENERIC_MAPPING構造体

 

Type GENERIC_MAPPING
    GenericRead    As Long
    GenericWrite   As Long
    GenericExecute As Long
    GenericAll     As Long
End Type


GRADIENT_RECT構造体

 

Type GRADIENT_RECT
    UpperLeft  As Long
    LowerRight As Long
End Type

 

参考

Declare Function Api_GradientFill& Lib "msimg32" Alias "GradientFill" (ByVal hDC&, pVertex As TRIVERTEX, ByVal dwNumVertex&, pMesh As GRADIENT_RECT, ByVal dwNumMesh&, ByVal dwMode&)


GRADIENT_TRIANGLE構造体

 

Type GRADIENT_TRIANGLE
    Vertex1 As Long
    Vertex2 As Long
    Vertex3 As Long
End Type


参考

Declare Function Api_GradientFill& Lib "msimg32" Alias "GradientFill" (ByVal hDC&, pVertex As TRIVERTEX, ByVal dwNumVertex&, pMesh As GRADIENT_TRIANGLE, ByVal dwNumMesh&, ByVal dwMode&)


GUITHREADINFO構造体

 

Type GUITHREADINFO
    cbSize        As Long
    flags         As Long
    hwndActive    As Long
    hwndFocus     As Long
    hwndCapture   As Long
    hwndMenuOwner As Long
    hwndMoveSize  As Long
    hwndCaret     As Long
    rcCaret       As RECT
End Type


 

HEAPENTRY32構造体

 

Type HEAPENTRY32
    dwSize        As Long
    hHandle       As Long
    dwAddress     As Long
    dwBlockSize   As Long
    dwFlags       As Long
    dwLockCount   As Long
    dwResvd       As Long
    th32ProcessID As Long
    th32HeapID    As Long
End Type


HEAPLIST32構造体

 

Type HEAPLIST32
    dwSize        As Long
    th32ProcessID As Long
    th32HeapID    As Long
    dwFlags       As Long
End Type


HOSTENT構造体

 

Type HOSTENT
    hName     As Long
    hAliases  As Long
    hAddrType As Integer
    hLen      As Integer
    hAddrList As Long
End Type


HW_PROFILE_INFO構造体

 

#define HW_PROFILE_GUIDLEN 39
#define MAX_PROFILE_LEN 80

Type HW_PROFILE_INFO
    dwDockInfo      As Long
    szHwProfileGuid As String * HW_PROFILE_GUIDLEN
    szHwProfileName As String * MAX_PROFILE_LEN
End Type
 


ICONINFO構造体

Type ICONINFO
    fIcon    As Long 'アイコンに関するデータのときは TRUE を、カーソルに関するデータのときは FALSE を指定
    xHotspot As Long 'カーソルのホットスポットの X 座標を指定
    yHotspot As Long 'カーソルのホットスポットの Y 座標を指定
    hbmMask  As Long 'AND ビットマスク(透過)用のビットマップ ハンドルを指定
    hbmColor As Long 'XOR ビットマスク(画像)用のビットマップ ハンドルを指定
End Type


INPUT_TYPE構造体

 

Type INPUT_TYPE
   dwType As Long
   xi(23) As Byte
End Type


INITCOMMONCONTROLSEX構造体

Type INITCOMMONCONTROLSEX
    dwSize As Long
    dwICC  As Long
End Type


IP_ADDR_STRING構造体

 

Type IP_ADDR_STRING
    iNext     As Long
    IpAddress As IP_ADDRESS_STRING
    IpMask    As IP_MASK_STRING
    Context   As Long
End Type


IP_ADDRESS_STRING構造体

Type IP_ADDRESS_STRING
    IpAddressString(4 * 4 - 1) As Byte
End Type


IP_MASK_STRING構造体

 

Type IP_MASK_STRING
    IpMaskString(4 * 4 - 1) As Byte
End Type


JOB_INFO_1構造体

Type JOB_INFO_1
    JobId As Long
    pPrinterName As Long
    pMachineName As Long
    pUserName    As Long
    pDocument    As Long
    pDatatype    As Long
    pStatus      As Long
    Status       As Long
    Priority     As Long
    Position     As Long
    TotalPages   As Long
    PagesPrinted As Long
    Submitted    As SYSTEMTIME
End Type


JOB_INFO_2構造体

Type JOB_INFO_2
    JobId As Long
    pPrinterName    As String
    pMachineName    As String
    pUserName       As String
    pDocument       As String
    pNotifyName     As String
    pDatatype       As String
    pPrintProcessor As String
    pParameters     As String
    pDriverName     As String
    pDevMode        As DEVMODE
    pStatus         As String
    pSecurityDescriptor As SECURITY_DESCRIPTOR
    Status          As Long
    Priority        As Long
    Position        As Long
    StartTime       As Long
    UntilTime       As Long
    TotalPages      As Long
    Size            As Long
    Submitted       As SYSTEMTIME
    Time            As Long
    PagesPrinted    As Long
End Type


JOB_INFO_3構造体

 

Type JOB_INFO_3
    JobId     As Long
    NextJobId As Long
    Reserved  As Long   '[0]を指定
End Type


JOYINFO構造体

 

Type JOYINFO
    dwXpos    As Integer
    dwDummy1  As Byte
    dwYpos    As Integer
    dwDummy2  As Byte
    dwZpos    As Integer
    dwDummy3  As Byte
    dwButtons As Integer
End Type


JOYINFOEX構造体


Type JOYINFOEX
   dwSize         As Long
   dwFlags        As Long
   dwXpos         As Long
   dwYpos         As Long
   dwZpos         As Long
   dwRpos         As Long
   dwUpos         As Long
   dwVpos         As Long
   dwButtons      As Long
   dwButtonNumber As Long
   dwPOV          As Long
   dwReserved1    As Long
   dwReserved2    As Long
End Type


KERNINGPAIR構造体

 

Type KERNINGPAIR
    wFirst      As Integer
    wSecond     As Integer
    iKernAmount As Long
End Type


KEYBDINPUT構造体

 

Type KEYBDINPUT
   wVk         As Integer
   wScan       As Integer
   dwFlags     As Long
   time        As Long
   dwExtraInfo As Long
End Type


LARGE_INTEGER構造体

Type LARGE_INTEGER
    lowpart  As Long
    highpart As Long
End Type


LASTINPUTINFO構造体

Type LASTINPUTINFO
    cbSize As Long
    dwTime As Long
End Type


LOGBRUSH構造体

 

Type LOGBRUSH
    lbStyle As Long
    lbColor As Long
    lbHatch As Long
End Type


LOGFONT構造体

 

#define LF_FACESIZE 32

Type LOGFONT
    lfHeight         As Long    '文字セルまたは文字の高さ
    lfWidth          As Long    '平均文字幅
    lfEscapement     As Long    '文字送りの方向とX軸との角度
    lfOrientation    As Long    'ベースラインとX軸との角度
    lfWeight         As Long    'フォントの太さ
    lfItalic         As Byte    'イタリック体指定
    lfUnderline      As Byte    '下線付き指定
    lfStrikeOut      As Byte    '打ち消し線付き指定
    lfCharSet        As Byte    'キャラクタセット
    lfOutPrecision   As Byte    '出力精度
    lfClipPrecision  As Byte    'クリッピングの精度
    lfQuality        As Byte    '出力品質
    lfPitchAndFamily As Byte    'ピッチとファミリ
    lfFaceName(LF_FACESIZE) As Byte'フォント名
End Type
 

参考

Declare Function Api_CreateFontIndirect& Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT)


LOGPALETTE構造体

 

Type LOGPALETTE
    palVersion       As Integer
    palNumEntries    As Integer
    palPalEntry(255) As PALETTEENTRY
End Type


LOGPEN構造体

Type LOGPEN
    lopnStyle As Long
    lopnWidth As POINTAPI
    lopnColor As Long
End Type


LUID構造体

 

Type LUID

    LowPart  As Long

    HighPart As Long

End Type


LVCOLUMN構造体

 

Type LVCOLUMN
    mask       As Long
    fmt        As Long
    cx         As Long
    pszText    As Long
    cchTextMax As Long
    iSubitem   As Long
End Type


LUID_AND_ATTRIBUTES構造体

 

Type LUID_AND_ATTRIBUTES

    pLuid      As LUID

    Attributes As Long

End Type


MEMORY_BASIC_INFORMATION構造体

 

Type MEMORY_BASIC_INFORMATION
    BaseAddress       As Long
    AllocationBase    As Long
    AllocationProtect As Long
    RegionSize        As Long
    State             As Long
    Protect           As Long
    lType             As Long
End Type


MEMORYSTATUS構造体

 

Type MEMORYSTATUS
    dwLength        As Long
    dwMemoryLoad    As Long    'メモリ使用率
    dwTotalPhys     As Long    '全物理メモリ
    dwAvailPhys     As Long    '空き物理メモリ
    dwTotalPageFile As Long    '全仮想メモリ
    dwAvailPageFile As Long    '空き仮想メモリ
    dwTotalVirtual  As Long    '全仮想アドレス
    dwAvailVirtual  As Long    '空き仮想アドレス
End Type
 

参考

Declare Sub Api_GlobalMemoryStatus Lib "Kernel32" Alias "GlobalMemoryStatus" (lpBuffer As MEMORYSTATUS)


MEMORYSTATUSEX構造体

 

Type MEMORYSTATUSEX
    dwLength         As Long
    dwMemoryLoad     As Long
    ullTotalPhys     As LARGE_INTEGER
    ullAvailPhys     As LARGE_INTEGER
    ullTotalPageFile As LARGE_INTEGER
    ullAvailPageFile As LARGE_INTEGER
    ullTotalVirtual  As LARGE_INTEGER
    ullAvailVirtual  As LARGE_INTEGER
    ullAvailExtendedVirtual As LARGE_INTEGER
End Type


MENUBARINFO構造体

Type MENUBARINFO
    cbSize      As Byte
    rcBar       As RECT
    hMenu       As Long
    hwndMenu    As Long
    fBarFocused As Integer
    fFocused    As Integer
End Type


MENUINFO構造体

Type MENUINFO
    cbSize          As Long
    fMask           As Long
    dwStyle         As Long
    cyMax           As Long
    hbrBack         As Long
    dwContextHelpID As Long
    dwMenuData      As Long
End Type


MENUITEMINFO構造体(メニューアイテムの情報を定義 )


Type MENUITEMINFO
    cbSize        As Long    '構造体のバイト数
    fMask         As Long    '取得する情報を指定する定数の組み合わせ
    fType         As Long    'メニュー項目のタイプを指定する定数の組み合わせ
    fState        As Long    'メニューの状態を指定する定数の組み合わせ
    wID           As Long    'ユーザー定義のメニュー項目のID
    hSubMenu      As Long    '指定のメニュー項目と関連するサブメニューのハンドル
    hbmpChecked   As Long    'チェックマーク用のビットマップのハンドル
    hbmpUnChecked As Long    '未チェック時のときのビットマップハンドル
    dwItemData    As Long    'メニュー項目と関連するユーザー定義の値
    dwTypeData    As Long    'メニュー項目のタイプ(fMaskにMIIM_Typeを指定したときのみ有効)
    cch           As Long    'メニュー項目のテキストのバイト数
End Type


参考

Declare Function Api_GetMenuItemInfo& Lib "user32" Alias "GetMenuItemInfoA" (ByVal hMenu&, ByVal uItem&, ByVal fByPosition&, lpMInfo As MENUITEMINFO)


METAFILEPICT構造体

Type METAFILEPICT
    mm   As Integer
    xext As Integer
    yext As Integer
    hmf  As Integer
End Type


MIB_ICMP構造体

Type MIB_ICMP
    stats As MIBICMPINFO
End Type


MIB_IPSTATS構造体(IP統計値を定義する)


Type MIB_IPSTATS
    dwForwarding      As Long    'IPフォワーディングのEnabled/Disabledを示す
    dwDefaultTTL      As Long    'Default TTL(Time-To-Live)
    dwInReceives      As Long    '受信したデータグラムの数
    dwInHdrErrors     As Long    'ヘッダエラーを含むデータグラムを受信した数
    dwInAddrErrors    As Long    'アドレスエラーを含むデータグラムを受信した数
    dwForwDatagrams   As Long    'フォワードしたデータグラムの数
    dwInUnknownProtos As Long    '不明なプロトコルを持つデータグラムを受信した数
    dwInDiscards      As Long    'Discardしたデータグラムの数
    dwInDelivers      As Long    '受信したデータグラムのうち、配送されたものの数
    dwOutRequests     As Long    '送信しようとしたデータグラムの数
    dwRoutingDiscards As Long    '送信されずにDiscardされたデータグラムの数
    dwOutDiscards     As Long    'Discardされた転送データグラムの数
    dwOutNoRoutes     As Long    '経路が存在せずにDiscardされたデータグラムの数
    dwReasmTimeout    As Long    'リアセンブルをあきらめるまでのタイムアウト
    dwReasmReqds      As Long    'リアセンブルを要求したデータグラムの数
    dwReasmOks        As Long    'リアセンブルが成功したデータグラムの数
    dwReasmFails      As Long    'リアセンブルが失敗したデータグラムの数
    dwFragOks         As Long    'フラグメントが成功したデータグラム数
    dwFragFails       As Long    'フラグメントが失敗したデータグラム数
    dwFragCreates     As Long    '生成されたフラグメント数
    dwNumIf           As Long    'インターフェース数
    dwNumAddr         As Long    'ローカルマシンに関連するIPアドレスの数
    dwNumRoutes       As Long    '経路表にある経路の数
End Type

参考

Declare Function Api_GetIpStatistics& Lib "iphlpapi" Alias "GetIpStatistics" (pStats As MIB_IPSTATS)


MIB_TCPSTATS構造体

 

Type MIB_TCPSTATS
    dwRtoAlgorithm As Long    'Algorithmの種類(MIB_TCP_RTO_・・・参照)
    dwRtoMin       As Long    'RTOの最小値(単位msec)
    dwRtoMax       As Long    'RTOの最大値(単位msec)
    dwMaxConn      As Long    '最大コネクション数(-1は可変長)
    dwActiveOpens  As Long    'コネクションを初期化している状態のコネクション数
    dwPassiveOpens As Long    'listenしている状態の数
    dwAttemptFails As Long    'コネクション確立失敗の数
    dwEstabResets  As Long    'Resetされたコネクションの数
    dwCurrEstab    As Long    '現在確立されているコネクション数
    dwInSegs       As Long    '受信したセグメント数
    dwOutSegs      As Long    '送信したセグメント数
    dwRetransSegs  As Long    '再送したセグメント数
    dwInErrs       As Long    '受信したエラーの数
    dwOutRsts      As Long    'RSTフラグが立った状態のセグメントを受け取った数
    dwNumConns     As Long    '現在ある全てのコネクションの数
End Type

 

参考

Declare Function Api_GetTcpStatistics& Lib "iphlpapi" Alias "GetTcpStatistics" (pStats As MIB_TCPSTATS)


MIB_UDPSTATS構造体

 

Type MIB_UDPSTATS
    dwInDatagrams  As Long    '受信したデータグラム数
    dwNoPorts      As Long    'サービスを提供していないポート宛に送られてきて破棄されたデータグラム数
    dwInErrors     As Long    '受信エラー数
    dwOutDatagrams As Long    '送信したデータグラム数
    dwNumAddrs     As Long    'UDP listener tableのエントリ数
End Type
 

参考

Declare Function Api_GetUdpStatistics& Lib "iphlpapi" Alias "GetUdpStatistics" (pStats As MIB_UDPSTATS)


MIDIHDR構造体

 

Type MIDIHDR
    lpData          As String
    dwBufferLength  As Long
    dwBytesRecorded As Long
    dwUser          As Long
    dwFlags         As Long
    lpNext          As Long
    Reserved        As Long
End Type


MIDIOUTCAPS構造体

#define MAXPNAMELEN 32

 

Type MIDIOUTCAPS
    wMid           As Integer               'MIDI 出力デバイスのためのデバイスドライバのメーカーID
    wPid           As Integer               'MIDI 出力デバイスのプロダクトID
    vDriverVersion As Long                  'MIDI 出力デバイスのためのデバイスドライバのバージョン番号
    szPname        As String * MAXPNAMELEN  'プロダクト名
    wTechnology    As Integer               'MIDI 出力デバイスの型を示すフラグが格納
    wVoices        As Integer               '内部シンセサイザデバイスがサポートするボイス数
    wNotes         As Integer               '内部シンセサイザデバイスがサポートする最大同時発音数が格納
    wChannelMask   As Integer               '内部シンセサイザデバイスが応じることのできるチャンネル
    dwSupport      As Long                  'デバイスがサポートする機能を示す値
End Type


MIDIPROPTEMPO構造体

Type MIDIPROPTEMPO
    cbStruct As Long
    dwTempo  As Long
End Type


MIDIPROPTIMEDIV構造体

 

Type MIDIPROPTIMEDIV
    cbStruct  As Long
    dwTimeDiv As Long
End Type


MMTIME構造体

Type MMTIME
    wType As Long
    u     As Long
End Type


MODULEENTRY32構造体

 

Type MODULEENTRY32
    dwSize        As Long
    th32ModuleID  As Long
    th32ProcessID As Long
    GlblcntUsage  As Long
    ProccntUsage  As Long
    modBaseAddr   As Long
    modBaseSize   As Long
    hModule       As Long
    szModule      As String * 256
    szExePath     As String * 260
End Type

' 最初のモジュールに関する情報を取得する関数の宣言
Declare Function Api_Module32First& Lib "kernel32" Alias "Module32First" (ByVal hSnapshot&, uProcess As MODULEENTRY32)


MODULEINFO構造体

 

Type MODULEINFO
    lpBaseOfDLL As Long
    SizeOfImage As Long
    EntryPoint  As Long
End Type


MONITOR_INFO_1構造体

 

Type MONITOR_INFO_1
    pName As String
End Type


MONITOR_INFO_2構造体

 

Type MONITOR_INFO_2
    pName        As String
    pEnvironment As String
    pDLLName     As String
End Type


MONITORINFO構造体

Type MONITORINFO
    cbSize    As Long
    rcMonitor As RECT
    rcWork    As RECT
    dwFlags   As Long
End Type


MONITORINFOEX構造体

 

#define CCHDEVICENAME 32

Type MONITORINFOEX
    cbSize    As Long
    rcMonitor As monRECT
    rcWork    As monRECT
    dwFlags   As Long
    szDevice  As String * CCHDEVICENAME
End Type


MOUSEHOOKSTRUCT構造体

 

Type MOUSEHOOKSTRUCT
    pt           As POINTAPI
    hwnd         As Long
    wHitTestCode As Long
    dwExtraInfo  As Long
End Type


MSG構造体

Type MSG
    hwnd    As Long
    message As Long
    wParam  As Long
    lParam  As Long
    ltime   As Long
    pt      As POINTAPI
End Type


MSGBOXPARAMS構造体

Type MSGBOXPARAMS
    cbSize             As Long
    hwndOwner          As Long
    hInstance          As Long
    lpszText           As Long
    lpszCaption        As Long
    dwStyle            As Long
    lpszIcon           As Long
    dwContextHelpId    As Long
    lpfnMsgBoxCallback As Long
    dwLanguageId       As Long
End Type


MSLLHOOKSTRUCT構造体

 

Type MSLLHOOKSTRUCT
    pt As POINTAPI
    mouseData As Long
    flags As Long
    time As Long
    dwExtraInfo As Long
End Type


NAME_BUFFER構造体

 

#define NCBNAMSZ 16


Type NAME_BUFFER
    bname      As String * NCBNAMSZ
    name_num   As Integer
    name_flags As Integer
End Type


NET_CONTROL_BLOCK構造体

 

#define NCBNAMSZ 16


Type NET_CONTROL_BLOCK  'NCB
    ncb_command    As Byte
    ncb_retcode    As Byte
    ncb_lsn        As Byte
    ncb_num        As Byte
    ncb_buffer     As Long
    ncb_length     As Integer
    ncb_callname   As String * NCBNAMSZ
    ncb_name       As String * NCBNAMSZ
    ncb_rto        As Byte
    ncb_sto        As Byte
    ncb_post       As Long
    ncb_lana_num   As Byte
    ncb_cmd_cplt   As Byte
    ncb_reserve(9) As Byte
    ncb_event      As Long
End Type

 

参考指定されたネットワークコントロールブロック(NCB)を解釈実行
Declare Function Api_Netbios Lib "netapi32" Alias "Netbios" (pncb As NET_CONTROL_BLOCK) As Byte


NETINFOSTRUCT構造体

 

Type NETINFOSTRUCT
    cbStructure       As Long
    dwProviderVersion As Long
    dwStatus          As Long
    dwCharacteristics As Long
    dwHandle          As Long
    wNetType          As Integer
    dwPrinters        As Long
    dwDrives          As Long
End Type


NETRESOURCE構造体

 

Type NETRESOURCE
    dwScope       As Long
    dwType        As Long
    dwDisplayType As Long
    dwUsage       As Long
    lpLocalName   As Long
    lpRemoteName  As Long
    lpComment     As Long
    lpProvider    As Long
End Type


NOTIFYICONDATA構造体

Type NOTIFYICONDATA
    cbSize           As Long        '構造体のサイズをバイト単位で指定。ANSI版では88を指定
    hWnd             As Long        '対象のウィンドウハンドル
    uID              As Long        'タスクバーアイコンのユーザー定義のID
    uFlag            As Long        '有効なメンバを示す定数の組み合わせ
    uCallbackMessage As Long        'ユーザー定義のメッセージ
    hIcon            As Long        '追加・削除・変更するアイコンのハンドル
    szTip            As String * 64 'アイコンの上にマウスカーソルがあるときに表示される文字列
End Type


NUMBERFMT構造体
 

Type NUMBERFMT
    NumDigits As Long       '小数点以下の数字の数
    LeadingZero As Long     '小数点以下の数字の数がNumDigitsに満たない場合「0」を加える
    Grouping As Long        'グループ(日本では千単位)の区切り文字数
    lpDecimalSep As Long    '小数点を表す文字
    lpThousandSep As Long   'グループの区切り文字
    NegativeOrder As Long   '負数の表示方法
End Type


OFSTRUCT構造体

Type OFSTRUCT
    cBytes     As Byte
    fFixedDisk As Byte
    nErrCode   As Integer
    Reserved1  As Integer
    Reserved2  As Integer
    szPathName As String * 128
End Type


OPENFILENAME構造体

Type OPENFILENAME
    lStructSize       As Long      '構造体のサイズをバイト単位で指定
    hwndOwner         As Long      'ダイアログボックスを所有するウィンドウへのハンドルを指定
    hInstance         As Long      'メモリオブジェクトへのハンドルを指定
    lpstrFilter       As Long      '任意の数のNULL文字で終わる文字列のペアを保持するバッファへのポインタを指定
    lpstrCustomFilter As Long      'ユーザーによって選択されたファイル フィルター文字列のペアが保存される
    nMaxCustFilter    As Long      'lpstrCustomFilterメンバのバッファ サイズを指定
    nFilterIndex      As Long      'フィルターの初期インデックスを指定
    lpstrFile         As Long      '文字列バッファを指定
    nMaxFile          As Long      'lpstrFileメンバのバッファ サイズを指定
    lpstrFileTitle    As Long      '選択されたファイルの名前、および拡張子を保存するための文字列バッファを指定
    nMaxFileTitle     As Long      'lpstrFileTitle メンバのバッファ サイズを指定
    lpstrInitialDir   As Long      '初期ディレクトリのパスを指定
    lpstrTitle        As Long      'ダイアログボックスのタイトルバーに表示する文字列を指定
    Flags             As Long      'イアログボックスの初期化フラグを、「OFN_・・・・」の定数を組み合わせて指定
    nFileOffset       As Integer   'lpstrFileメンバが示すパス内の、ファイル名の位置がバッファの先頭から何バイト目であるかを示す
    nFileExtension    As Integer   'lpstrFileメンバが示すパス内の、拡張子の位置がバッファの先頭から何バイト目であるかを示す
    lpstrDefExt       As Long      'デフォルト拡張子の文字列を示す
    lCustData         As Long      'lpfnHookメンバが示すフック プロシージャへ渡すデータを指定
    lpfnHook          As Long      'フック プロシージャへのポインタを指定
    lpTemplateName    As Long      'hInstanceメンバが示すモジュール内にあるダイアログ テンプレートを指定
End Type


OSVERSIONINFO構造体(OSのバージョン取得 )

 

Type OSVERSIONINFO
    dwOSVersionInfoSize As Long    '構造体のバイト数
    dwMajorVersion      As Long    'メジャーバージョン番号
    dwMinorVersion      As Long    'マイナーバージョン番号
    dwBuildNumber       As Long    'ビルド番号
    dwPlatformId        As Long    'プラットフォームのID
    szCSDVersion        As String * 128 'OSに関する付加情報
End Type
 

参考
Declare Function API_GETVERSIONEX& Lib "kernel32" Alias "GetVersionExA" ( LPVERSIONINFORMATION As OSVERSIONINFO )


OSVERSIONINFOEX構造体(OSのバージョン取得:WindowsNT、2000、XP)


Type OSVERSIONINFOEX
    dwOSVersionInfoSize As Long
    dwMajorVersion      As Long
    dwMinorVersion      As Long
    dwBuildNumber       As Long
    dwPlatformId        As Long
    szCSDVersion        As String * 128 'Maintenance string for PSS usage
    wSPMajor            As Integer      'Service Pack Major Version
    wSPMinor            As Integer      'Service Pack Minor Version
    wSuiteMask          As Integer      'Suite Identifier
    bProductType        As Byte         'Server / Workstation / Domain Controller ?
    bReserved           As Byte         'Reserved
End Type

 

参考
Declare Function API_GETVERSIONEXEX& Lib "kernel32" Alias "GetVersionExA" ( LPVERSIONINFORMATION As OSVERSIONINFOEX )


OUTLINETEXTMETRIC構造体

 

Type OUTLINETEXTMETRIC
    otmSize                As Long
    otmTextMetrics         As TEXTMETRIC
    otmFiller              As Byte
    otmPanoseNumber        As PANOSE
    otmfsSelection         As Long
    otmfsType              As Long
    otmsCharSlopeRise      As Long
    otmsCharSlopeRun       As Long
    otmItalicAngle         As Long
    otmEMSquare            As Long
    otmAscent              As Long
    otmDescent             As Long
    otmLineGap             As Long
    otmsCapEmHeight        As Long
    otmsXHeight            As Long
    otmrcFontBox           As Rect
    otmMacAscent           As Long
    otmMacDescent          As Long
    otmMacLineGap          As Long
    otmusMinimumPPEM       As Long
    otmptSubscriptSize     As POINTAPI
    otmptSubscriptOffset   As POINTAPI
    otmptSuperscriptSize   As POINTAPI
    otmptSuperscriptOffset As POINTAPI
    otmsStrikeoutSize      As Long
    otmsStrikeoutPosition  As Long
    otmsUnderscorePosition As Long
    otmsUnderscoreSize     As Long
    otmpFamilyName         As String
    otmpFaceName           As String
    otmpStyleName          As String
    otmpFullName           As String
End Type


OVERLAPPED構造体

Type OVERLAPPED
    Internal     As Long
    InternalHigh As Long
    Offset       As Long
    OffsetHigh   As Long
    hEvent       As Long
End Type


PAGESETUPDLG構造体

Type PAGESETUPDLG
    lStructSize        As Long
    hwndOwner          As Long
    hDevMode           As Long
    hDevNames          As Long
    flags              As Long
    ptPaperSize        As POINTAPI
    rtMinMargin        As Rect
    rtMargin           As Rect
    hInstance          As Long
    lCustData          As Long
    lpfnPageSetupHook  As Long
    lpfnPagePaintHook  As Long
    lpPageSetupTemplateName As String
    hPageSetupTemplate As Long
End Type


PAINTSTRUCT構造体


Type PAINTSTRUCT
    hDC             As Long   'デバイスコンテキストを識別
    fErase          As Long   'このメンバが 1 のときは、バックグラウンドを再描画
    rcPaint         As RECT   '更新(再描画)する矩形座標を指定するRECT構造体
    fRestore        As Long   '予約されているメンバ
    fIncUpdate      As Long   '予約されているメンバ
    rgbReserved(15) As Byte   '予約されているメンバ
End Type


PALETTEENTRY構造体

 

Type PALETTEENTRY
    peRed   As Byte
    peGreen As Byte
    peBlue  As Byte
    peFlags As Byte
End Type


PALTTABINFO構造体

 

Type PALTTABINFO
    cbSize    As Integer
    cItems    As Integer
    cColumns  As Integer
    cRows     As Integer
    iColFocus As Integer
    iRowFocus As Integer
    cxItem    As Integer
    cyItem    As Integer
    ptStart   As POINTAPI
End Type


PANOSE構造体

 

Type PANOSE
    bFamilyType      As String * 1
    bSerifStyle      As String * 1
    bWeight          As String * 1
    bProportion      As String * 1
    bContrast        As String * 1
    bStrokeVariation As String * 1
    bArmStyle        As String * 1
    bLetterform      As String * 1
    bMidline         As String * 1
    bXHeight         As String * 1
End Type


POINTAPI構造体(点を表す構造体 )


Type POINTAPI
    x As Long
    y As Long
End Type

 

参考

Declare Function Api_ClientToScreen& Lib "user32" Alias "ClientToScreen" (ByVal hWnd&, lpPoint As POINTAPI)


POLYTEXT構造体

Type POLYTEXT
    x       As Long
    y       As Long
    n       As Long
    lpStr   As Long
    uiFlags As Long
    rcl     As RECT
    pdx     As Long
End Type


PORT_INFO_1構造体

 

Type PORT_INFO_1
    pName As String * 256
End Type


PORT_INFO_2構造体

 

Type PORT_INFO_2
    pPortName    As Long
    pMonitorName As Long
    pDescription As Long
    fPortType    As Long
    Reserved     As Long
End Type


PRINTDLG構造体

 

Type PRINTDLG
    lStructSize         As Long        '構造体のサイズをバイト単位で指定
    hwndOwner           As Long        '親ウィンドウのハンドルを指定
    hDevMode            As Long        'DEVMODE構造体を含んでいるグローバルメモリオブジェクトのハンドルを指定
    hDevNames           As Long        'DEVNAMES構造体を含んだグローバルメモリオブジェクトのハンドルを指定
    hdc                 As Long        'デバイスコンテキスト
    flags               As Long        '印刷ダイアログボックスを初期化するために使われるビットフラグのセットを指定
    nFromPage           As Integer     'スタートページの初期値
    nToPage             As Integer     '最後のページの初期値
    nMinPage            As Integer     'ページ範囲の最小値
    nMaxPage            As Integer     'ページエディットコントロールの最大値
    nCopies             As Integer     '印刷部数の初期値
    hInstance           As Long        'インスタンスハンドル
    lCustData           As Long        'フック関数に渡すアプリケーション定義のデータ
    lpfnPrintHook       As Long        'フックプロシージャのポインタ
    lpfnSetupHook       As Long        'フックプロシージャのポインタ
    lpPrintTemplateName As String * 32 'ダイアログボックステンプレートの名前
    lpSetupTemplateName As String * 32 'ダイアログボックステンプレートの名前
    hPrintTemplate      As Long        'DEVNAMES構造体の文字列がデフォルトのプリンターかどうかを表す
    hSetupTemplate      As Long        '
End Type


PRINTDLGEX構造体

Type PRINTDLGEX
    lStructSize         As Long
    hwndOwner           As Long
    hDevMode            As Long
    hDevNames           As Long
    hDC                 As Long
    Flags               As Long
    Flags2              As Long
    ExclusionFlags      As Long
    nPageRanges         As Long
    nMaxPageRanges      As Long
    lpPageRanges        As Long
    nMinPage            As Long
    nMaxPage            As Long
    nCopies             As Long
    hInstance           As Long
    lpPrintTemplateName As String * 32
    lpCallback          As Long
    nPropertyPages      As Long
    lphPropertyPages    As Long
    nStartPage          As Long
    dwResultAction      As Long
End Type


PRINTER_DEFAULTS構造体(プリンタアクセス権を定義する構造体の宣言 )


Type PRINTER_DEFAULTS
    pDataType     As Long    '(String * 8)
    pDevMode      As Long
    DesiredAccess As Long
End Type


PRINTER_INFO_1構造体

Type PRINTER_INFO_1
    Flags        As Long
    prescription As Long
    Pane         As Long
    Comment      As Long
End Type


PRINTER_INFO_2構造体(詳細なプリンタ情報を定義する構造体 )


Type PRINTER_INFO_2
    pServerName         As Long
    pPrinterName        As Long
    pShareName          As Long
    pPortName           As Long
    pDriverName         As Long
    pComment            As Long
    pLocation           As Long
    pDevMode            As Long
    pSepFile            As Long
    pPrintProcessor     As Long
    pDataType           As Long
    pParameters         As Long
    pSecurityDescriptor As Long
    Attributes          As Long
    Priority            As Long
    DefaultPriority     As Long
    StartTime           As Long
    UntilTime           As Long
    Status              As Long
    cJobs               As Long
    AveragePPM          As Long
End Type


PRINTER_INFO_3構造体

Type PRINTER_INFO_3
    pSecurityDescriptor As Long
End Type


PRINTER_INFO_4構造体

Type PRINTER_INFO_4
    pPrinterName As Long
    pServerName  As Long
    Attributes   As Long
End Type


PRINTER_INFO_5構造体(詳細なプリンタ情報を定義する構造体 )

 

Type PRINTER_INFO_5
    pPrinterName        As Long
    pPortName           As Long
    Attributes          As Long
    DeviceNotSelectedTimeOut As Long
    TransmissionRetryTimeOut As Long
End Type


PRINTER_INFO_6構造体

Type PRINTER_INFO_6
    dwStatus As Long
End Type


PRINTER_INFO_7構造体

Type PRINTER_INFO_7
    pszObjectGUID As String
    dwAction      As Long
End Type


PRINTER_INFO_8構造体

Type PRINTER_INFO_8
    pDevMode As Long
End Type


PRINTER_NOTIFY_OPTIONS構造体

 

Type PRINTER_NOTIFY_OPTIONS
    Version As Long
    Flags   As Long
    Count   As Long
    lpPrintNotifyOptions As Long
End Type


PROCESS_MEMORY_COUNTERS構造体

 

Type PROCESS_MEMORY_COUNTERS
    cb                         As Long    '構造体のサイズ
    PageFaultCount             As Long    'ページ・フォールト数
    PeakWorkingSetSize         As Long    '最大ワーキングセット
    WorkingSetSize             As Long    '現在ワーキングセット
    QuotaPeakPagedPoolUsage    As Long    '最大ページプールの使用サイズ
    QuotaPagedPoolUsage        As Long    '現在ページプールの使用サイズ
    QuotaPeakNonPagedPoolUsage As Long    '最大非ページプールの使用サイズ
    QuotaNonPagedPoolUsage     As Long    '現在非ページプールの使用サイズ
    PagefileUsage              As Long    '現在ページングファイルの使用サイズ
    PeakPagefileUsage          As Long    '最大ページングファイルの使用サイズ
End Type


PROCESSENTRY32構造体(プロセスエントリを定義する構造体 )


Type PROCESSENTRY32
    dwSize              As Long    '
構造体サイズ
    cntUsage            As Long    '参照カウント
    th32ProcessID       As Long    'プロセスID
    th32DefaultHeapID   As Long    'デフォルトヒープID
    th32ModuleID        As Long    'モジュールID
    cntThreads          As Long    'スレッドカウント
    th32ParentProcessID As Long    '親プロセスID
    pcPriClassBase      As Long    '基本優先レベル
    dwFlags             As Long    'フラグ(未使用)
    szExeFile           As String * MAX_PATH  'ファイル名
End Type

参考

#define MAX_PATH 260                'パス名の最大長を定義

Declare Function Api_Process32First& Lib "kernel32" Alias "Process32First" (ByVal hSnapshot&, lppe As PROCESSENTRY32)


PSAPI_WS_WATCH_INFORMATION構造体

 

Type PSAPI_WS_WATCH_INFORMATION
    FaultingPc As Long
    FaultingVa As Long
End Type


QUERY_SERVICE_CONFIG構造体

 

Type QUERY_SERVICE_CONFIG
    dwServiceType      As Long
    dwStartType        As Long
    dwErrorControl     As Long
    lpBinaryPathName   As Long
    lpLoadOrderGroup   As Long
    dwTagId            As Long
    lpDependencies     As Long
    lpServiceStartName As Long
    lpDisplayName      As Long
End Type


RASTERIZER_STATUS構造体

 

Type RASTERIZER_STATUS
    nSize As Integer
    wFlags As Integer
    nLanguageID As Integer
End Type


RECT構造体(長方形の左上隅と右下隅の座標を定義 )


Type RECT
    Left   As Long    '
    Top    As Long    '
    Right  As Long    '
    Bottom As Long    '
End Type

 

参考

Declare Function Api_GetClientRect& Lib "user32" Alias "GetClientRect" (ByVal hWnd&, lpRect As RECT)


RGBQUAD構造体

 

Type RGBQUAD
    rgbBlue     As Byte   '青の輝度
    rgbGreen    As Byte   '緑の輝度
    rgbRed      As Byte   '赤の輝度
    rgbReserved As Byte   '予約(常に0)
End Type
 


RGNDATA構造体

 

Type RGNDATA
    rdh    As RGNDATAHEADER  'RGNDATAHEADER構造体
    Buffer As Long           'RECT構造体を含む任意のサイズのデータへのポインタ
End Type


RGNDATAHEADER構造体

Type RGNDATAHEADER
    dwSize   As Long     '構造体のバイト数
    iType    As Long     '領域のタイプを示す定数
    nCount   As Long     '領域を構成する矩形の数
    nRgnSize As Long     'RECT構造体を格納するために必要なバイト数
    rcBound  As RECT     '矩形の領域サイズ
End Type


SCROLLBARINFO構造体

Type SCROLLBARINFO
    cbSize        As Long
    rcScrollBar   As RECT
    dxyLineButton As Long
    xyThumbTop    As Long
    xyThumbBottom As Long
    reserved      As Long
    rgstate(5)    As Long
End Type


SCROLLINFO構造体

 

Type SCROLLINFO
    cbSize    As Long    'このレコードのバイトサイズ
    fMask     As Long    '取得・設定する値を指定するマスクフラグ
    nMin      As Long    'スクロール領域の最小値
    nMax      As Long    'スクロール領域の最大値
    nPage     As Long    'サム(つまみ)のサイズ
    nPos      As Long    'サムの位置
    nTrackPos As Long    'ドラッグ中のサムの位置
End Type


SECURITY_ATTRIBUTES構造体

 

Type SECURITY_ATTRIBUTES
    nLength              As Long
    lpSecurityDescriptor As Long
    bInheritHandle       As Long
End Type

参考ファイルの作成・オープン
Declare Function Api_CreateFile& Lib "kernel32" Alias "CreateFileA" (ByVal lFileName$, ByVal dDesiredAccess&, ByVal dShareMode&, lSecurityAttributes As SECURITY_ATTRIBUTES, ByVal dCreationDisposition&, ByVal dFlagsAndAttributes&, ByVal hTemplateFile&)


SECURITY_DESCRIPTOR構造体

Type SECURITY_DESCRIPTOR
    Revision As Byte
    Sbz1     As Byte
    Control  As Long
    Owner    As Long
    Group    As Long
    Sacl     As ACL
    Dacl     As ACL
End Type


SERVICE_STATUS構造体

 

Type SERVICE_STATUS
    dwServiceType             As Long
    dwCurrentState            As Long
    dwControlsAccepted        As Long
    dwWin32ExitCode           As Long
    dwServiceSpecificExitCode As Long
    dwCheckPoint              As Long
    dwWaitHint                As Long
End Type


SHELLEXECUTEINFO構造体

 

Type SHELLEXECUTEINFO
   cbSize       As Long    '60
   fMask        As Long    'オプション
   hWnd         As Long    'オーナーウィンドウのハンドル
   lpVerb       As Long    '動作名を表す文字列のアドレス(String)
   lpFile       As Long    'ファイルまたはオブジェクトの名前を表す文字列のアドレス(String)
   lpParameters As Long    'コマンドラインパラメータを表す文字列のアドレス(String)
   lpDirectory  As Long    '作業ディレクトリを示す文字列のアドレス(String)
   nShow        As Long    'ウィンドウの表示形式
   hInstApp     As Long    '関数が成功すると 32 より大きい値が、失敗すると 32 以下の値が格納される

   lpIDList     As Long    '実行するファイルを識別するアイテム ID リストを含む ITEMIDLIST 構造体へのポインタ(PIDL)
   lpClass      As Long    'ファイルクラス名または GUID を指定する文字列のアドレス(String)
   hkeyClass    As Long    'ファイルクラスのレジストリキーのハンドル
   dwHotKey     As Long    'アプリケーションと関連付けるホットキー
   hIcon        As Long    'ファイルクラスのアイコンのハンドル
   hProcess     As Long    '新規に作成されたプロセスのハンドル
End Type


SHFILEINFOA構造体(ファイルオブジェクトに関する情報を定義する構造体 )


Type SHFILEINFOA
    hIcon              As Long
    iIcon              As Long
    dwAttributes       As Long
    szDisplayName(MAX_PATH - 1) As Byte
    szTypeName(80 - 1) As Byte
End Type

参考ファイルシステムオブジェクトの情報を取得する関数の宣言
Declare Function Api_SHGetFileInfo& Lib "shell32" Alias "SHGetFileInfoA" (ByVal pszPath$, ByVal dwFileAttributes&, psfi As SHFILEINFOA, ByVal cbFileInfo&, ByVal uFlags&)


SHFILEOPSTRUCT構造体

 

Type SHFILEOPSTRUCT
    hWnd              As Long     'フォームのウインドウハンドル
    wFunc             As Long     '処理内容(コピー・削除・移動・名前の変更)
    pFrom             As Long     '元ファイル名(ファイル名の後ろには2つのヌル文字を入れる)
    pTo               As Long     '新ファイル名(削除の場合は不要)
    fFlags            As Integer  '動作オプション
    fAnyOperationsAborted As Long '処理終了前にキャンセルしたときは[1]
    hNameMappings     As Long     'ファイルネームマッピングオブジェクト
    lpszProgressTitle As Long     'ダイアログボックスのキャプション
End Type


SHQUERYRBINFO構造体

 

Type SHQUERYRBINFO
    cbSize          As Long    '構造体のバイト数
    i64SizeLow      As Long    'ごみ箱にある全アイテム数の下位32ビット値
    i64SizeHigh     As Long    '同、上位32ビット値
    i64NumItemsLow  As Long    'ごみ箱にあるアイテム数の下位32ビット値
    i64NumItemsHigh As Long    '同、上位32ビット値
End Type

参考
Declare Function Api_SHQueryRecycleBin& Lib "shell32" Alias "SHQueryRecycleBinA" (ByVal pszRootPath$, pSHQueryRBInfo As SHQUERYRBINFO)


SID_IDENTIFIER_AUTHORITY構造体

 

Type SID_IDENTIFIER_AUTHORITY
    Value(6) As Byte
End Type


SIZE構造体

Type SIZE
    cx As Long
    cy As Long
End Type


SMALL_RECT構造体

 

Type SMALL_RECT
    Left   As Integer
    Top    As Integer
    Right  As Integer
    Bottom As Integer
End Type


STARTUPINFO構造体

Type STARTUPINFO
    cb              As Long
    lpReserved      As Long
    lpDesktop       As Long
    lpTitle         As Long
    dwX             As Long
    dwY             As Long
    dwXSize         As Long
    dwYSize         As Long
    dwXCountChars   As Long
    dwYCountChars   As Long
    dwFillAttribute As Long
    dwFlags         As Long
    wShowWindow     As Integer
    cbReserved2     As Integer
    lpReserved2     As Long
    hStdInput       As Long
    hStdOutput      As Long
    hStdError       As Long
End Type


SYSTEM_INFO構造体(システム情報を定義する構造体 )


Type SYSTEM_INFO
    dwOemId                     As Long       'このメンバは使われない
    dwPageSize                  As Long       'メモリページのサイズ
    lpMinimumApplicationAddress As Long       'アプリケーションが利用可能なメモリ空間の最下位アドレス
    lpMaximumApplicationAddress As Long       'アプリケーションが利用可能なメモリ空間の最上位アドレス
    dwActiveProcessorMask       As Long       'システム中に存在するプロセッサのビットマスク
    dwNumberOfProcessors        As Long       'システム中に存在するプロセッサの数
    dwProcessorType             As Long       '
プロセッサの種類(386・486・586)
    dwAllocationGranularity     As Long       'メモリ空間割り当ての最小単位
    wProcessorLevel             As Integer    'プロセッサの種類(WindowsNT系OSのみ
)
    wProcessorRevision          As Integer    'プロセッサのバージョン(WindowsNT系OSのみ)
End Type

参考システム情報を取得する関数
Declare Sub Api_GetSystemInfo Lib "kernel32" Alias "GetSystemInfo" (lpSystemInfo As SYSTEM_INFO)


SYSTEM_POWER_STATUS構造体

Type SYSTEM_POWER_STATUS
    ACLineStatus        As Byte    'ACパワーの状態を示す定数の組み合わせ
    BatteryFlag         As Byte    'バッテリチャージの状態を表す定数の組み合わせ
    BatteryLifePercent  As Byte    'バッテリの残り容量のパーセント(0〜100)
    Reserved1           As Byte    '常に0
    BatteryLifeTime     As Long    'バッテリーの残り秒数
    BatteryFullLifeTime As Long    'フルチャージ時の残り秒数
End Type


SYSTEMTIME構造体


Type SYSTEMTIME
    wYear         As Integer    '年
    wMonth        As Integer    '月(1:1月  2:2月 ...)
    wDayOfWeek    As Integer    '曜(0:日曜 1:月曜...)
    wDay          As Integer    '日(1:1日  2:2日 ...)
    wHour         As Integer    '時
    wMinute       As Integer    '分
    wSecond       As Integer    '秒
    wMilliseconds As Integer    'ミリ秒
End Type


参考

Declare Sub Api_GetSystemTime Lib "kernel32" Alias "GetSystemTime" (lpSystemTime As
SYSTEMTIME)


tagINITCOMMONCONTROLSEX構造体(コモンコントロールのクラスをロードするために使われる情報を格納 )


Type tagINITCOMMONCONTROLSEX
    dwSize As Long
    dwICC  As Long
End Type

 

参考

Declare Function Api_InitCommonControlsEx& Lib "comctl32" Alias "InitCommonControlsEx" (lpInitCtrls As tagINITCOMMONCONTROLSEX)


tagREGISTERWORD構造体

 

Type tagREGISTERWORD
    lpReading As String * 255   '構造体のバイト数
    lpWord    As String * 255   'ロードするクラスを指定
End Type


tagSOUNDSENTRY構造体

 

Type tagSOUNDSENTRY
    cbSize                 As Long
    dwFlags                As Long
    iFSTextEffect          As Long
    iFSTextEffectMSec      As Long
    iFSTextEffectColorBits As Long
    iFSGrafEffect          As Long
    iFSGrafEffectMSec      As Long
    iFSGrafEffectColor     As Long
    iWindowsEffect         As Long
    iWindowsEffectMSec     As Long
    lpszWindowsEffectDLL   As Long
    iWindowsEffectOrdinal  As Long
End Type


tagSTICKYKEYS構造体

 

Type tagSTICKYKEYS

    cbSize  As Long

    dwFlags As Long

End Type


tBITMAP構造体

 

Type tBITMAP
    Header    As BITMAPINFO
    Bytes(63) As Byte
End Type


TEXTMETRIC構造体

 

Type TEXTMETRIC
    tmHeight           As Integer      '文字の高さ
    tmAscent           As Integer      '文字のアセント
    tmDescent          As Integer      '文字のディセント
    tmInternalLeading  As Integer      '内部レディング
    tmExternalLeading  As Integer      '外部レディング
    tmAveCharWidth     As Integer      '文字の平均幅
    tmMaxCharWidth     As Integer      '文字の最大幅
    tmWeight           As Integer      'ボールド幅:通常400、太字700(0〜999)
    tmItalic           As String * 1   '斜体フォントであれば 0 以外、そうでなければ 0
    tmUnderlined       As String * 1   '下線付きフォントであれば 0 以外、そうでなければ 0
    tmStruckOut        As String * 1   '打消し線付きフォントであれば 0 以外、そうでなければ 0
    tmFirstChar        As String * 1   'フォントに含まれる先頭の文字の文字コード
    tmLastChar         As String * 1   'に含まれる最後の文字の文字コード
    tmDefaultChar      As String * 1   'フォントに含まれないキャラクタの代用として使うキャラクタの値
    tmBreakChar        As String * 1   '単語の間を表す文字のキャラクタの値
    tmPitchAndFamily   As String * 1   '下位4ビットで、フォントの属性をあらわす
    tmCharSet          As String * 1   'フォントのキャラクタセット
    tmOverhang         As Integer      '太字や斜体時に付加される幅
    tmDigitizedAspectX As Integer      'フォントに適したアスペクト比の値
    tmDigitizedAspectY As Integer      'フォントに適したアスペクト比の値
End Type

 

Type TEXTMETRIC
    tmHeight           As Long     'フォントの高さ
    tmAscent           As Long     'ベースラインから一番上までの高さ
    tmDescent          As Long     'ベースラインから一番下までの高さ
    tmInternalLeading  As Long     'tmHeightメンバが示す高さに含まれる、上部スペースの高さが格納
    tmExternalLeading  As Long     'フォントを描画する際の、行同士の幅
    tmAveCharWidth     As Long     'フォントの平均の幅
    tmMaxCharWidth     As Long     'フォントを描画する際もっとも広い幅
    tmWeight           As Long     'フォントの太さ
    tmOverhang         As Long     '太字やイタリック体などのフォントに付加される幅
    tmDigitizedAspectX As Long     'デバイス コンテキストの水平アスペクト値
    tmDigitizedAspectY As Long     'デバイス コンテキストの垂直アスペクト値
    tmFirstChar        As Byte     'フォントに含まれる文字中の、先頭の文字コード
    tmLastChar         As Byte     'フォントに含まれる文字中の、最後の文字コード
    tmDefaultChar      As Byte     'フォントに含まれない文字を描画するための文字コード
    tmBreakChar        As Byte     '単語と単語の間を示す文字コード
    tmItalic           As Byte     'フォントがイタリック体のときは 0 以外の値が、そうでないときは 0
    tmUnderlined       As Byte     '下線付きフォントのときは 0 以外の値が、そうでないときは 0
    tmStruckOut        As Byte     '打ち消しフォントのときは 0 以外の値が、そうでないときは 0
    tmPitchAndFamily   As Byte     '下位 4 ビットにフォントのピッチおよび属性
    tmCharSet          As Byte     'フォントの文字セット
End Type


THREADENTRY32構造体

 

Type THREADENTRY32
    dwSize             As Long   '構造体サイズ
    cntUsage           As Long   '参照カウント(0)
    th32ThreadID       As Long   'スレッドID
    th32OwnerProcessID As Long   'プロセスID
    tpBasePri          As Long   '基本優先順位レベル
    tpDeltaPri         As Long   '(0)
    dwFlags            As Long   '(0)
End Type


TIME_ZONE_INFORMATION構造体

Type TIME_ZONE_INFORMATION
    Bias             As Long
    StandardName(32) As Integer
    StandardDate     As SYSTEMTIME
    StandardBias     As Long
    DaylightName(32) As Integer
    DaylightDate     As SYSTEMTIME
    DaylightBias     As Long
End Type


TITLEBARINFO構造体

 

Type TITLEBARINFO
    cbSize     As Long
    rcTitleBar As RECT
    rgstate(CCHILDREN_TITLEBAR) As Long
End Type

参考

Declare Function Api_GetTitleBarInfo& Lib "user32" Alias "GetTitleBarInfo" (ByVal hWnd&, byref pti As TITLEBARINFO)


TOKEN_GROUPS構造体

 

#define ANYSIZE_ARRAY 1
 

Type TOKEN_GROUPS
    GroupCount            As Long
    Groups(ANYSIZE_ARRAY) As SID_AND_ATTRIBUTES
End Type


TOKEN_PRIVILEGES構造体

 

Type TOKEN_PRIVILEGES
    PrivilegeCount As Long
    Privileges(1)  As LUID_AND_ATTRIBUTES
End Type


TOOLINFO構造体

 

Type TOOLINFO
    cbSize   As Long     'TOOLINFO構造体の大きさ
    uFlags   As Long     'TTF_SUBCLASS
    hwnd     As Long     'ツールチップを表示するウィンドウハンドル
    uId      As Long     '表示情報のID
    cRect    As RECT     'ツールチップを表示するhwndのクライアント領域の範囲
    hinst    As Long     '
    lpszText As Long     '表示する文字列のポインタ
End Type


TPMPARAMS構造体

 

Type TPMPARAMS
    cbSize    As Long    'このレコードのサイズ
    rcExclude As Rect    '表示を回避する矩形領域のスクリーン座標
End Type


TRIVERTEX構造体

 

Type TRIVERTEX
    X     As Long        '頂点のX座標
    Y     As Long        '〃Y座標
    Red   As Integer     '〃座標位置のカラー値(R値)
    Green As Integer     '〃座標位置のカラー値(G値)
    Blue  As Integer     '〃座標位置のカラー値(B値)
    Alpha As Integer     '〃座標位置のアルファ値
End Type

 

参考

Declare Function Api_GradientFill& Lib "msimg32" Alias "GradientFill" (ByVal hDC&, pVertex As TRIVERTEX, ByVal dwNumVertex&, pMesh As GRADIENT_RECT, ByVal dwNumMesh&, ByVal dwMode&)


TRUSTEE構造体

 

Type TRUSTEE
    pMultipleTrustee         As Long
    MultipleTrusteeOperation As Long
    TrusteeForm              As Long
    TrusteeType              As Long
    ptstrName                As String
End Type


TVINSERTSTRUCT構造体

 

Type TVINSERTSTRUCT   
    Parent      As Long
    InsertAfter As Long
    Item        As TVITEM
End Type


TVITEM構造体

 

Type TVITEM
    mask           As Long
    hItem          As Long
    state          As Long
    stateMask      As Long
    pszText        As long
    cchTextMax     As Long
    iImage         As Long
    iSelectedImage As Long
    cChildren      As Long
    lParam         As Long
End Type


ULARGE_INTEGER構造体


Type ULARGE_INTEGER
    LowPart  As Long
    HighPart As Long
End Type


参考
指定のディレクトリを含むディスクの空き容量を調べる
Declare Function Api_GetFileSizeEx& Lib "kernel32" Alias "GetFileSizeEx" (ByVal hFile&, lpFileSize asULARGE_INTEGER)


UNIVERSAL_NAME_INFO構造体

Type UNIVERSAL_NAME_INFO
    lpUniversalName As String * 1024
End Type


VALENT構造体

 

Type VALENT
    ve_valuename As String 'データを取得する値名
    ve_valuelen As Long    've_valuepname のバイト数
    ve_valueptr As Long    'データへのポインタ
    ve_type As Long        'データのタイプを示す次の定数の一つ
End Type


VS_FIXEDFILEINFO構造体


Type VS_FIXEDFILEINFO
    dwSignature        As Long
    dwStrucVersion     As Long
    dwFileVersionMS    As Long
    dwFileVersionLS    As Long
    dwProductVersionMS As Long
    dwProductVersionLS As Long
    dwFileFlagsMask    As Long
    dwFileFlags        As Long
    dwFileOS           As Long
    dwFileType         As Long
    dwFileSubType      As Long
    dwFileDateMS       As Long
    dwFileDateLS       As Long
End Type


WAVEFORMATEX構造体

 

Type WAVEFORMATEX
    wFormatTag      As Integer
    nChannels       As Integer
    nSamplesPerSec  As Long
    nAvgBytesPerSec As Long
    nBlockAlign     As Integer
    wBitsPerSample  As Integer
    cbSize          As Integer
End Type


WAVEHDR構造体

 

Type WAVEHDR
    lpData          As Long
    dwBufferLength  As Long
    dwBytesRecorded As Long
    dwUser          As Long
    dwFlags         As Long
    dwLoops         As Long
    lpNext          As Long
    Reserved        As Long
End Type


WAVEINCAPS構造体

 

Type WAVEINCAPS
    wMid           As Integer
    wPid           As Integer
    vDriverVersion As Long
    szPname        As String * MAXPNAMELEN
    dwFormats      As Long
    wChannels      As Integer
End Type


WAVEOUTCAPS構造体

 

Type WAVEOUTCAPS
    wMid           As Integer     '機器のメーカーのメーカー識別子
    wPid           As Integer     '機器の製品識別子
    vDriverVersion As Long        '機器のバージョン番号
    szPname        As String * 32 '製品名
    dwFormats      As Long        'サポートされる標準のフォーマット(WAVE_FORMAT_...)
    wChannels      As Integer     'オーディオのチャンネルの数(1:Mono 2:Stereo)
    dwSupport      As Long        'オプションの機能
End Type


WIN32_FIND_DATA構造体

 

#define MAX_PATH 260


Type WIN32_FIND_DATA
    dwFileAttributes As Long
    ftCreationTime   As FILETIME
    ftLastAccessTime As FILETIME
    ftLastWriteTime  As FILETIME
    nFileSizeHigh    As Long
    nFileSizeLow     As Long
    dwReserved0      As Long
    dwReserved1      As Long
    cFileName        As String * MAX_PATH
    cAlternate       As String * 14
End Type

 

参考指定したファイル名に一致するファイルやディレクトリを検索
Declare Function Api_FindFirstFile& Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName$, lpFindFileData As WIN32_FIND_DATA)


WINDOWINFO構造体

 

Type WINDOWINFO
    cbSize          As Long
    rcWindow        As RECT
    rcClient        As RECT
    dwStyle         As Long
    dwExStyle       As Long
    cxWindowBorders As Long
    cyWindowBorders As Long
    atomWindowtype  As Long
    wCreatorVersion As Long
End Type


WINDOWPLACEMENT構造体

Type WINDOWPLACEMENT
    length           As Long
    flags            As Long
    showCmd          As Long
    ptMinPosition    As POINTAPI
    ptMaxPosition    As POINTAPI
    rcNormalPosition As RECT
End Type


WNDCLASS構造体

 

Type WNDCLASS
    style         As Long          'ウィンドウのスタイル
    lpfnwndproc   As Long          'ウィンドウプロシージャ
    cbClsextra    As Long          '補助メモリ
    cbWndExtra2   As Long          '補助メモリ
    hInstance     As Long          'インスタンスハンドル
    hIcon         As Long          'アイコン
    hCursor       As Long          '背景ブラシ
    hbrBackground As Long          'カーソル
    lpszMenuName  As String * 255  'メニュー名
    lpszClassName As String * 255  'クラス名
End Type


WNDCLASSEX構造体


Type WNDCLASSEX
    cbSize        As Long          '構造体サイズ
    style         As Long          'クラススタイル
    lpfnWndProc   As Long          'ウィンドウプロシージャ
    cbClsExtra    As Long          'クラス32ビット値のバイト数
    cbWndExtra    As Long          'ウィンドウ32ビット値のバイト数
    hInstance     As Long          'インスタンス
    hIcon         As Long          'アイコン
    hCursor       As Long          'カーソル
    hbrBackground As Long          '背景ブラシ
    lpszMenuName  As Long          'メニュー
    lpszClassName As String * 255  'クラス名
    hIconSm       As Long * 255    '小さいアイコン
End Type


WSADATA構造体

 

#define MAX_WSADescription 256
#define MAX_WSASYSStatus 128

Type WSAData
    wVersion            As Integer
    wHighVersion        As Integer
    szDescription(MAX_WSADescription) As Byte
    szSystemStatus(MAX_WSASYSStatus)  As Byte
    wMaxSockets         As Integer
    wMaxUDPDG           As Integer
    dwVendorInfo        As Long
End Type

 

参考
Declare Function Api_WSAStartup& Lib "WSOCK32" Alias "WSAStartup" (ByVal wVersionRequired&, lpWSADATA As WSAData)


WSADATA構造体

 

#define WSADESCRIPTION_LEN 257
#define WSASYS_STATUS_LEN 129

Type WSADataInfo
    wVersion       As Integer
    wHighVersion   As Integer
    szDescription  As String * WSADESCRIPTION_LEN
    szSystemStatus As String * WSASYS_STATUS_LEN
    iMaxSockets    As Integer
    iMaxUdpDg      As Integer
    lpVendorInfo   As String * 256
End Type

 

参考
Declare Function Api_WSAStartupInfo& Lib "WSOCK32" Alias "WSAStartup" (ByVal wVersionRequested&, lpWSADATA As WSADataInfo)


XFORM構造体

 

Type XFORM
    eM11 As Double
    eM12 As Double
    eM21 As Double
    eM22 As Double
    eDx  As Double
    eDy  As Double
End Type