不好意思,为什么我用FindWindow找来找去,什么都找不到 ?(30分)

  • 主题发起人 主题发起人 jimyho
  • 开始时间 开始时间
J

jimyho

Unregistered / Unconfirmed
GUEST, unregistred user!
返回值老是0,<br>连 Notepad 都找不到.<br>h:=findwindow('Notepad',nil);<br>
 
Findwindow('Notepad', nil)可以呀,奇怪。
 
请你试一下这样的语句:<br>打开记事本,记事本的TITLE为“未定标题 - 记事本"<br>showwindow(nil,findwindow(nil,'未定标题 - 记事本'),sw_hide);<br>执行后,就把记事本窗口隐含了。
 
xzg163兄:<br>compile都通不过,怎么回事. (windows 98 + delphi 5)<br><br>showwindow(nil,findwindow(nil,'未定标题 - 记事本'),sw_hide);<br>[Error] Unit1.pas(82): Incompatible types: 'HWND' and 'Pointer'
 
他那一句错了:<br>应该是这样:<br>showwindow(findwindow(nil,'未定标题 - 记事本'),sw_hide);<br><br>findwindows 前一个参数是 类名,用 spy++ 就可以看到,<br>后一个是标题,就是 caption 了。<br>
 
什么反应都没有,隐藏不了,返回值还是 0,<br>真的不知道怎么回事.<br>
 
应该不会呀, 你先看看 notepad 的标题是什么?
 
我肯定标题没错,'无标题 - 记事本'<br>不管我寻找什么类,什么标题,也不管这个类是否已运行.<br>返回值铁定是0.
 
FindWindow(ClassName, WindowName)<br>记事本的ClassName 是"Notepad"<br>&nbsp; &nbsp; &nbsp; &nbsp;WindowName就是记事本窗口标题,如:"无标题 - 记事本"<br>例:h:=FindWindow("Notepad","无标题 - 记事本")<br>
 
'无标题 - 记事本'中间有空格
 
这是我的代码:<br>&nbsp; h := FindWindow(nil,'无标题 - 记事本');<br>&nbsp; ShowWindow(h,sw_hide)<br>通过
 
你的绝对没有问题!!
 
如果有标题呢?
 
该结束了!
 
Crab的代码<br>h := FindWindow(nil,'无标题 - 记事本');<br>&nbsp; ShowWindow(h,sw_hide)<br>是对的,我试过了.<br>
 
用getwindow和getwindowtext把所有有标题的窗口都列出来,看看有没有你想要的<br>窗口,然后再findwindow这个标题的窗口<br>
 
试一试这个!<br>隐藏和显示Windows的任务条<br>如果隐藏和显示Windows的任务条?仅仅调用以下的函数就可以.<br>procedure hideTaskbar; //隐藏<br>var <br>wndHandle : THandle; <br>wndClass : array[0..50] of Char; <br>begin <br>StrPCopy(@wndClass[0], 'Shell_TrayWnd'); <br>wndHandle := FindWindow(@wndClass[0], nil); <br>ShowWindow(wndHandle, SW_HIDE); <br>End;<br> <br>procedure showTaskbar; <br>var <br>wndHandle : THandle; <br>wndClass : array[0..50] of Char; <br>begin <br>StrPCopy(@wndClass[0], 'Shell_TrayWnd'); <br>wndHandle := FindWindow(@wndClass[0], nil); <br>ShowWindow(wndHandle, SW_RESTORE); <br>end; <br> 
 
只有类名没有标题,最好enumWindows
 
FindWindow的第一个参数是类名,第二个参数是窗口标题,如果你不知道应用程序的类型的话,<br>那么最好还是用窗口标题来查找。<br>
 
后退
顶部