怎样隐藏一个外部程序的任务栏按钮?该如何处理
怎样隐藏一个外部程序的任务栏按钮?
在VC里面调用一个外部的应用程序,调用了之后没有出现窗口,可是在任务栏出现了一个按钮,想把它给隐藏起来,可行?
STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si,0,sizeof(si));
si.cb=sizeof(si);
si.dwFlags=STARTF_USESTDHANDLES;
si.lpTitle = "RUNNING ";
si.wShowWindow=SW_HIDE;
si.dwX = 0;
si.dwY = 0;
si.dwXSize = 0;
si.dwYSize = 0;
::CreateProcess(NULL, "D:\\Program Files\\Ansys Inc\\v100\\ANSYS\\bin\\Intel\\ansys100.exe -b -p ane3fl -i modaling.txt -o dd.out.txt ", NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
------解决方案--------------------
并非不可用FindWindow 只是好像没有公开
CWnd* lpWnd = CWnd::FromHandle(FindWindow(_T( "Shell_TrayWnd "), NULL));
------解决方案--------------------
其实问题大概是这样的,我调用了一个程序,这个程序又调用了第三个程序,而且还在任务栏里面放了一个按钮,但没有窗口,所以我没有办法使用FindWindow查找它,现在就是想把第三个程序的任务栏按钮给弄掉。
----------------------------------
怎么会没有窗口呢? 呵呵,只是没有标题,或者窗口极小而已。你用Spy++枚举一下系统中的所有窗口就可以找到它的标题或者窗口类,继而用FindWindow找到并隐藏它
在VC里面调用一个外部的应用程序,调用了之后没有出现窗口,可是在任务栏出现了一个按钮,想把它给隐藏起来,可行?
STARTUPINFO si;
PROCESS_INFORMATION pi;
memset(&si,0,sizeof(si));
si.cb=sizeof(si);
si.dwFlags=STARTF_USESTDHANDLES;
si.lpTitle = "RUNNING ";
si.wShowWindow=SW_HIDE;
si.dwX = 0;
si.dwY = 0;
si.dwXSize = 0;
si.dwYSize = 0;
::CreateProcess(NULL, "D:\\Program Files\\Ansys Inc\\v100\\ANSYS\\bin\\Intel\\ansys100.exe -b -p ane3fl -i modaling.txt -o dd.out.txt ", NULL,NULL,FALSE,0,NULL,NULL,&si,&pi);
------解决方案--------------------
并非不可用FindWindow 只是好像没有公开
CWnd* lpWnd = CWnd::FromHandle(FindWindow(_T( "Shell_TrayWnd "), NULL));
------解决方案--------------------
其实问题大概是这样的,我调用了一个程序,这个程序又调用了第三个程序,而且还在任务栏里面放了一个按钮,但没有窗口,所以我没有办法使用FindWindow查找它,现在就是想把第三个程序的任务栏按钮给弄掉。
----------------------------------
怎么会没有窗口呢? 呵呵,只是没有标题,或者窗口极小而已。你用Spy++枚举一下系统中的所有窗口就可以找到它的标题或者窗口类,继而用FindWindow找到并隐藏它