私は、エディタ(メモ帳、Wordなど)のように動作するアセンブリでプログラムを書いています。ここで、ショートカットキーを押すとノートコンテナの内容を保存するための保存ダイアログを表示したいと思います。F10 ....
どうすればいいですか?あなたは、Win32 SDKにMASM32を使用していると仮定すると、
おかげアセンブリでダイアログを保存する
1
A
答えて
1
1
は私がどうなるのかです:あなたがalredyそれらを持っていない場合は
WinProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
LOCAL ofn:OPENFILENAME
LOCAL filePath[MAX_PATH]:BYTE
LOCAL hFile:HANDLE
.IF uMsg == WM_CREATE
xor eax, eax
.ELSEIF uMsg == WM_KEYDOWN
mov eax, wParam
.IF eax == VK_F10
; Prepare the OPENFILENAME structure
invoke RtlZeroMemory, ADDR ofn, SIZEOF OPENFILENAME
invoke RtlZeroMemory, ADDR filePath, MAX_PATH
mov ofn.lStructSize, SIZEOF OPENFILENAME
m2m ofn.hwndOwner, hWnd
mov ofn.lpstrFilter, CTEXT("All Files (*.*)",0,"*.*",0,0)
mov ofn.nFilterIndex, 1
lea eax, [filePath]
mov ofn.lpstrFile, eax
mov ofn.nMaxFile, MAX_PATH
mov ofn.Flags, OFN_PATHMUSTEXIST+OFN_FILEMUSTEXIST+OFN_EXPLORER
.IF $invoke(GetOpenFileName, ADDR ofn) != 0
; File selected...
lea esi, [ofn]
invoke CreateFile, (OPENFILENAME PTR [esi]).lpstrFile, GENERIC_WRITE, NULL, NULL, CREATE_ALWAYS, 0, NULL
.IF eax != INVALID_HANDLE_VALUE
; File opened...
mov hFile, eax
inovke CloseHandle, hFile
.ENDIF
.ENDIF
.ELSEIF eax == VK_ESCAPE
invoke DestroyWindow, hWnd
.ENDIF
.ELSEIF uMsg == WM_DESTROY
invoke PostQuitMessage, NULL
.ELSE
invoke DefWindowProc, hWnd, uMsg, wParam, lParam
.ENDIF
ret
WinProc endp
、私が使用されるマクロは以下のとおりです。?どのようなアセンブリ何OS
m2m MACRO dest:REQ, src:REQ
push src
pop dest
ENDM
CTEXT MACRO y:VARARG
LOCAL sym, dummy
dummy EQU $ ;; MASM error fix
CONST SEGMENT
IFIDNI <y>,<>
sym db 0
ELSE
sym db y,0
ENDIF
CONST ends
EXITM <OFFSET sym>
ENDM
$invoke MACRO Function:REQ, Args:VARARG
IFB <Args>
invoke Function
ELSE
invoke Function, Args
ENDIF
EXITM <eax>
ENDM
関連する問題
- 1. MFCファイルを保存ダイアログ
- 2. Tkinterのファイルを保存ダイアログ
- 3. フォームアラートを送信保存ダイアログ
- 4. Qtファイルの保存ダイアログをカスタマイズする
- 5. 保存ダイアログなしでファイルをダウンロード
- 6. 強制ファイル保存ダイアログ
- 7. Excel interop:保存ダイアログを表示せずにブックを保存
- 8. JQueryダイアログでのオブジェクトの保存
- 9. VBA Word - 初期ファイル名で保存ダイアログ
- 10. Jython Musicでファイルを開く/保存ダイアログを作成する
- 11. ASP.NETでファイルを保存ダイアログを表示する
- 12. アセンブリを保存中のMono.CecilのArgumentException
- 13. PHPスクリプトで生成されたファイルを保存ダイアログでディレクトリに保存
- 14. ファイアウォールのファイル保存ダイアログを待つ
- 15. ファイルを保存ダイアログを使用せずにファイルを保存します
- 16. Visual Studioで「ファイルを別名で保存」ダイアログが開きます
- 17. カスタム保存ダイアログ属性の設定
- 18. WPFダイアログとして保存...ビューに?
- 19. asp.netのダイアログとして保存
- 20. WindowsフォームXMLシリアル化保存ダイアログ
- 21. WebブラウザコントロールのC#保存ダイアログの問題
- 22. AutoItを使用して保存ダイアログを操作する
- 23. HTMLを使用して保存ダイアログを表示する方法
- 24. saveasダイアログでファイルを保存しますか?
- 25. アセンブリを作成して保存する方法は?
- 26. アセンブリのLC-3に文字列を保存する
- 27. コンソールバイザーの内容をアレイに保存する(アセンブリ)
- 28. Selenium EdgeDriverパスワードの保存ダイアログを無効にする
- 29. 角2:設定を保存するための開始ダイアログ
- 30. Delphi TeeChart - 印刷プレビューとダイアログを保存する
? –