我用ShellExecute打开了一个Word文件 操作后最小化  如何再次将其自动最大化??

解决方案 »

  1.   

    如果你有此窗口句柄,可以用ShowWindow(句柄, SW_RESTORE);
    如果没有句柄,用 FindWindow(类名, 窗口标题);来查找此窗口。
      

  2.   

    ShellExecute是得不到窗口的句柄的
      

  3.   

    就是使用api函数,
    你先查一查showwindow和findwindow这两个api函数,就知道咋用了!!
    用的时候先使用findwindow找到这个word窗体,函数的返回值就是句柄,
    然后在showwindow中使用.
      

  4.   

    改成 CreateProcess 運行程序, 直接可得到 其 handle,然後, 想恢復時, 用
    BOOL ShowWindow( HWND hWnd,  int nCmdShow); 就可!CreateProcess  用法參考如下:
    var sInfo : TStartupInfo;
    pInfo : TProcessInformation;
    cmdLine : String;
    exitCode : Cardinal; 
    // 下面是调用过程
    cmdLine := 'c:\winnt\notepad.exe';
    FillChar(sInfo,sizeof(sInfo),#0);
    sInfo.cb := SizeOf(sInfo);
    sInfo.dwFlags := STARTF_USESHOWWINDOW;
    sInfo.wShowWindow := SW_NORMAL;if not CreateProcess(nil,pchar(cmdLine),nil,nil,false,CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, sInfo, pInfo) then
    MessageBox(Application.handle,'指定程序启动失败!','错误',MB_OK or MB_ICONSTOP)
    else
    begin
    WaitForSingleObject(pInfo.hProcess,INFINITE);
    GetExitCodeProcess(pInfo.hProcess,exitCode);
    end;
      

  5.   

    请问用Winexec可以得到句柄吗?
      

  6.   

    那么说获得句柄的方法只有CreateProcess???