在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);

解决方案 »

  1.   

    http://topic.csdn.net/t/20050617/20/4090125.html#
      

  2.   

    其实问题大概是这样的,我调用了一个程序,这个程序又调用了第三个程序,而且还在任务栏里面放了一个按钮,但没有窗口,所以我没有办法使用FindWindow查找它,现在就是想把第三个程序的任务栏按钮给弄掉。
      

  3.   

    并非不可用FindWindow 只是好像没有公开
    CWnd* lpWnd = CWnd::FromHandle(FindWindow(_T("Shell_TrayWnd"), NULL));
      

  4.   

    其实问题大概是这样的,我调用了一个程序,这个程序又调用了第三个程序,而且还在任务栏里面放了一个按钮,但没有窗口,所以我没有办法使用FindWindow查找它,现在就是想把第三个程序的任务栏按钮给弄掉。
    ----------------------------------------------------------------------
    怎么会没有窗口呢? 呵呵,只是没有标题,或者窗口极小而已。你用Spy++枚举一下系统中的所有窗口就可以找到它的标题或者窗口类,继而用FindWindow找到并隐藏它