上帝保佑 - God4

God Bless

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
上篇写到了一个桌面上的浮动动画对话框,并且只有一个退出按键有效“~”,这篇是一段很短的调用上个程序的代码,创建一个新的桌面,启动新进程,按退出后返回原来桌面。运行期间类似于密码屏保,有什么用途各自发挥吧。

#define DESKTOPNAME TEXT("RunOnce")
#define EXEFILEPATH TEXT("RunOnceF.exe")

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     
int       nCmdShow)
{
    HDESK hDesk, hCurDesk;

    hCurDesk 
= GetThreadDesktop(GetCurrentThreadId());
    
if(hCurDesk==NULL)
        
return 1;

     hDesk 
= CreateDesktop(DESKTOPNAME, NULL, NULL, 0, GENERIC_ALL, NULL);
    
if(hCurDesk==NULL)
        
return 2;

    
if(!SwitchDesktop(hDesk))
        
return 3;

    PROCESS_INFORMATION pi 
= {0};
    STARTUPINFO si 
= {0};
    si.cb 
= sizeof(si);
    si.dwFlags 
= STARTF_USESHOWWINDOW;
    si.wShowWindow 
= SW_SHOW;
    si.lpDesktop 
= DESKTOPNAME;

    
if(CreateProcess(NULL, EXEFILEPATH, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
    
{
        WaitForSingleObject(pi.hProcess, INFINITE);
        CloseHandle(pi.hProcess);
        CloseHandle(pi.hThread);
    }

    
else
        
return 4;

    
if(!SwitchDesktop(hCurDesk))
        
return 5;

    CloseDesktop(hDesk);
    CloseDesktop(hCurDesk);

    
return 0;
}

留下代码,新手交流。
/Files/God4/RunOnce.rar
posted on 2007-09-29 21:15  God4  阅读(905)  评论(0)    收藏  举报