TOPOZO

なでしこでWindowsAPIを使う時の書式を各API毎にソースを載せています。
返信する
choco
管理人
記事: 279
登録日時: 2011年5月30日(月) 10:44

TOPOZO

投稿記事 by choco »

●保存ファイル選択EX(Fの,{=?}Aで)
arrayTmpとは配列
フィルタとは文字列
デフォルト拡張子とは文字列
OpenFileName構造体とは変数
OpenFileNameとはOPENFILENAME
ファイルパスとは文字列
ファイルパスに260/*MAX_PATH*/を確保
Aをファイルパスの1に`CHAR*`でバイナリ設定
#-----------------------------------------------------------------------
Fを`,`で区切って反復
arrayTmp=対象を`|`で区切る
フィルタに"{arrayTmp[0]}{\0}{arrayTmp[1]}{\0}"を追加
フィルタに"{\0}"を追加
Fを`|`で区切る
デフォルト拡張子=それ[1]から拡張子抽出の1から1文字削除
#-----------------------------------------------------------------------
OpenFileNameについて
hwndOwner=母艦→ハンドル
lpstrFilter=POINTER(フィルタ)
lpstrFile=POINTER(ファイルパス)
nMaxFile=バイト数(ファイルパス)
lpstrDefExt=POINTER(デフォルト拡張子)
Flags=(2/*OFN_OVERWRITEPROMPT*/||4/*OFN_HIDEREADONLY*/)
PACK(OpenFileName,OpenFileName構造体,`DWORD,HWND,HINSTANCE,LPCTSTR,LPTSTR,DWORD,DWORD,LPTSTR,DWORD,LPTSTR,DWORD,LPCTSTR,LPCTSTR,DWORD,WORD,WORD,LPCTSTR,DWORD,LPOFNHOOKPROC,LPCTSTR,LPVOID,DWORD,DWORD`)
もし(GetSaveFileName(POINTER(OpenFileName構造体))!=0)ならば
ファイルパスを戻す
``を戻す
●GetSaveFileName(lpofn) =DLL("comdlg32.dll","BOOL GetSaveFileNameA(POPENFILENAME)")
■OPENFILENAME
・lStructSize{=88}
・hwndOwner
・hInstance
・lpstrFilter
・lpstrCustomFilter
・nMaxCustFilter
・nFilterIndex
・lpstrFile
・nMaxFile
・lpstrFileTitle
・nMaxFileTitle
・lpstrInitialDir
・lpstrTitle
・Flags
・nFileOffset
・nFileExtension
・lpstrDefExt
・lCustData
・lpfnHook
・lpTemplateName
・pvReserved
・dwReserved
・FlagsEx




●BCryptOpenAlgorithmProvider(phAlgorithm,pszAlgId,pszImplementation,dwFlags)=DLL("bcrypt.dll","LONG BCryptOpenAlgorithmProvider(HWND,LPCWSTR,LPCWSTR,DWORD)")
●BCryptGetProperty(hObject,pszProperty,pbOutput,cbOutput,pcbResult,dwFlags)=DLL("bcrypt.dll","LONG BCryptGetProperty(HWND,LPCWSTR,PUCHAR,ULONG,LPULONG,ULONG)")
●BCryptSetProperty(hObject,pszProperty,pbInput,cbInput,dwFlags)=DLL("bcrypt.dll","LONG BCryptSetProperty(HWND,LPCWSTR,PUCHAR,ULONG,ULONG)")
●BCryptGenerateSymmetricKey(hAlgorithm,phKey,pbKeyObject,cbKeyObject,pbSecret,cbSecret,dwFlags)=DLL("bcrypt.dll","LONG BCryptGenerateSymmetricKey(HWND,HWND,PUCHAR,ULONG,PUCHAR,ULONG,ULONG)")
●BCryptExportKey(hKey,hExportKey,pszBlobType,pbOutput,cbOutput,pcbResult,dwFlags)=DLL("bcrypt.dll","LONG BCryptExportKey(HWND,HWND,LPCWSTR,PUCHAR,ULONG,ULONG,ULONG)")
●BCryptEncrypt(hKey,pbInput,cbInput,pPaddingInfo,pbIV,cbIV,pbOutput,cbOutput,pcbResult,dwFlags)=DLL("bcrypt.dll","LONG BCryptEncrypt(HWND,PUCHAR,ULONG,LPVOID,PUCHAR,ULONG,PUCHAR,ULONG,ULONG,ULONG)")
●BCryptImportKey(hAlgorithm,hImportKey,pszBlobType,phKey,pbKeyObject,cbKeyObject,pbInput,cbInput,dwFlags)=DLL("bcrypt.dll","LONG BCryptImportKey(HWND,HWND,LPCWSTR,HWND,PUCHAR,ULONG,PUCHAR,ULONG,ULONG)")
●BCryptDecrypt(hKey,pbInput,cbInput,pPaddingInfo,pbIV,cbIV,pbOutput,cbOutput,pcbResult,dwFlags)=DLL("bcrypt.dll","LONG BCryptDecrypt(HWND,PUCHAR,ULONG,LPVOID,PUCHAR,ULONG,PUCHAR,ULONG,ULONG,ULONG)")
●BCryptCloseAlgorithmProvider(hAlgorithm,dwFlags)=DLL("bcrypt.dll","LONG BCryptCloseAlgorithmProvider(HWND,ULONG)")
●BCryptDestroyKey(hKey)=DLL("bcrypt.dll","LONG BCryptDestroyKey(HWND)")
●WideCharToMultiByte(CodePage,dwFlags,lpWideCharStr,cchWideChar,{参照渡し}lpMultiByteStr,cchMultiByte,lpDefaultChar,lpUsedDefaultChar)=DLL("kernel32.dll","INT WideCharToMultiByte(UINT,DWORD,LPCWSTR,INT,LPSTR,INT,LPCSTR,LPBOOL)")
●MultiByteToWideChar(CodePage,dwFlags,lpMultiByteStr,cchMultiByte,lpWideCharStr,cchWideChar)=DLL("kernel32.dll","INT MultiByteToWideChar(UINT,DWORD,LPCSTR,INT,LPWSTR,INT)")
返信する