[已解决]如何禁止FileOpenDialog窗口出现
本帖最后由 haijie1223 于 2012-5-11 09:16 编辑如题:如何禁止系统中出现FileOpenDialog或者FileSelectFolder等选择窗口出现。 禁止FileOpenDialog窗口出现。
#include <Thread.au3>
Const $DEST_PID = @AutoItPID
Local $pGetOpenFileNameW = _RTGetProcAddress("comdlg32.dll", "GetOpenFileNameW")
Local $pGetOpenFileNameA = _RTGetProcAddress("comdlg32.dll", "GetOpenFileNameA")
Local $hProcess = _RTOpenProcess($DEST_PID)
_RTWriteProcessMemory($hProcess, $pGetOpenFileNameA, "0x33C0C20400CCCCCC", 8, "binary")
_RTWriteProcessMemory($hProcess, $pGetOpenFileNameW, "0x33C0C20400CCCCCC", 8, "binary")
_RTCloseHandle($hProcess)
Local $sFileName = FileOpenDialog("test", @DesktopDir & "\", "All files(*.*)")
MsgBox(0, $sFileName, @error) 回复 2# pusofalse
P版的方法,实质上是修改DLL运行数据啊?
膜拜! 回复 2# pusofalse
P侠,我把这个代码放到一个函数中,然后循环检测,但是我点了一下scite的打开按钮,还是能出现FileOpenDialog窗口。
回复 4# haijie1223
将$DEST_PID设为scite进程的PID。 这段代码只需在开始调用一次就可以了,不必循环。 回复 5# pusofalse
再次感谢,没仔细看。 回复 5# pusofalse
请教p版
0x33C0C20400CCCCCC
表示什么意思啊 回复 8# kenan
不知是不是针对comdlg32.dll函数修改的数据
页:
[1]