我想在开机启动系统2000后马上就运行我的应用程序,关闭我的应用程序后马上关机。怎么样才能实现?请给些代码!!
请指教!!
谢谢!

解决方案 »

  1.   

    这个嘛,你说得还不是很仔细,具体是进入2000后就运行你的程序,还是在加完2000内核就运行?关于关闭,你可以重载你的应用程序的Destroy,加上
    function ShutDownSystem():BOOL;
    var
      hProcess,hAccessToken:THandle;
      LUID_AND_ATTRIBUTES:TLUIDAndAttributes;
      TOKEN_PRIVILEGES: TTokenPrivileges;
      BufferIsNull:DWORD;
    Const
      SE_SHUTDOWN_NAME='SeShutdownPrivilege';
    begin
      hProcess:=GetCurrentProcess();OpenProcessToken(hprocess,TOKEN_ADJUST_PRIVILEGES+TOKEN_QUERY,hAccessToken);
      LookupPrivilegeValue(Nil,SE_SHUTDOWN_NAME,LUID_AND_ATTRIBUTES.Luid);
      LUID_AND_ATTRIBUTES.Attributes:=SE_PRIVILEGE_ENABLED;
      TOKEN_PRIVILEGES.PrivilegeCount:=1;
      TOKEN_PRIVILEGES.Privileges[0]:=LUID_AND_ATTRIBUTES;
      BufferIsNull:=0;AdjustTokenPrivileges(hAccessToken,False,TOKEN_PRIVILEGES,sizeof(TOKEN_PRIVI
    LEGES),Nil,BufferIsNull);
      ExitWindowsEx(EWX_SHUTDOWN, 0);
    ShutDownSystem:=True;
    end;
    就行,稍做变化,如果是进入2000后运行你的应用程序
    你可把自己的应用程序加到HKEY_CURRENT_USER
    software->microsoft->windows->currentversion->run
    这样就可以了
      

  2.   

    应用程序的Destroy应该怎么写呢
      

  3.   

    你就将那段程序写在你的OnDestroy中就好了