开启c盘下的abc.exe程序,能启动,我希望它在屏幕的左上角开启,但是它每次都是在屏幕正中间开启的,这是怎么回事呢,下面是代码的片段,什么地方有问题呢,abc是一个基于对话框的mfc程序。 PROCESS_INFORMATION   pi;   
ZeroMemory(&pi,sizeof(PROCESS_INFORMATION));
STARTUPINFO   si;   
ZeroMemory(&si,sizeof(STARTUPINFO));
si.cb=sizeof(STARTUPINFO);   
si.dwX=0;
si.dwY=0;
si.dwXSize=600;
si.dwYSize=800;
si.wShowWindow=SW_SHOW;   
si.dwFlags=STARTF_USESHOWWINDOW | STARTF_USEPOSITION | STARTF_USESIZE  ;   
BOOL   fRet=CreateProcess(NULL,   
“C:\\abc.exe”,   
NULL,   
NULL,   
FALSE,   
//NORMAL_PRIORITY_CLASS|CREATE_NEW_CONSOLE,   
0,
NULL,   
NULL,   
&si,   
        &pi);  
if(fRet)   
{
// AfxMessageBox("打开成功");
m_hPro=pi.hProcess;//保存当前进程句柄,在强制结束进程时使用。   
}  

解决方案 »

  1.   

    For GUI processes, the specified position is used the first time the new process calls CreateWindow to create an overlapped window if the x parameter of CreateWindow is CW_USEDEFAULT.
    就是说”abc.exe“的x必须是CW_USEDEFAULT
      

  2.   

    看这个
    http://topic.csdn.net/u/20090506/13/836ae4d1-e08b-46c2-bf7f-13035c634f81.html和你的abc.exe是有关系的