以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何判断非狐表窗口是否是最顶部的呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=143123)

--  作者:zto001
--  发布时间:2019/11/14 10:03:00
--  [求助]如何判断非狐表窗口是否是最顶部的呢?
[求助]如何判断非狐表窗口当前在最顶部的呢?


--  作者:有点蓝
--  发布时间:2019/11/14 10:11:00
--  
百度 “GetForegroundWindow”
--  作者:zto001
--  发布时间:2019/11/14 10:14:00
--  

#include <IOSTREAM.H>
#include <Windows.h>
 
bool execwait(char *cmdline,char *cmd,int timeout);
 
void main()
{
for (int i = 0;i < 2;i++)
{
HANDLE hCurrentCursor = GetForegroundWindow ();
cout<<hCurrentCursor<<endl;
execwait(NULL,"cmd.exe /c  notepad.exe D:\\\\1.txt",0);
Sleep(2000);
}
}
 
bool execwait(char *cmdline,char *cmd,int timeout)  
{  
    PROCESS_INFORMATION   pi;  
    STARTUPINFO si;  
    ZeroMemory( &pi, sizeof(pi) );  
    ZeroMemory( &si, sizeof(si) );  
    si.cb = sizeof(si);  
    si.dwFlags   =   STARTF_USESHOWWINDOW;  
    si.wShowWindow   =   SW_HIDE;  
    CreateProcess(cmdline,cmd,NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);  
    WaitForSingleObject(pi.hProcess ,timeout);  
    CloseHandle( pi.hProcess );  
    CloseHandle( pi.hThread );  
    return true;  
}  




这个怎么转换成狐表?

--  作者:zto001
--  发布时间:2019/11/14 10:14:00
--  
https://blog.csdn.net/lz465350/article/details/40743531?utm_source=blogxgwz0
--  作者:有点蓝
--  发布时间:2019/11/14 10:27:00
--  
搜c#或者vb.net的代码
--  作者:zto001
--  发布时间:2019/11/14 10:45:00
--  
这个行吗?

GetForegroundWindow

VB声明
Declare Function GetForegroundWindow Lib "user32" Alias "GetForegroundWindow" () As Long
说明
获得前台窗口的句柄。这里的“前台窗口”是指前台应用程序的活动窗口
返回值
Long,前台窗口的句柄
注解

windows nt支持多个桌面,它们相互间是独立的。每个桌面都有自己的前台窗口


--  作者:有点蓝
--  发布时间:2019/11/14 10:50:00
--  
api的定义方法和调用都一样的。只是函数名称和参数不一样

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=143097&skin=0