判断当前主题是否为aero模式,如果是改为Windows basic模式。。

解决方案 »

  1.   

    帮你顶,我也想知道怎么弄,没找到现成的API
      

  2.   

    uses Winsvc,..,;function RunServies(svr:String):Boolean;//启动某个服务;
    var  
    schService:SC_HANDLE;
    schSCManager:SC_HANDLE;
    ssStatus:TServiceStatus;
    Argv:PChar;
    begin
    schSCManager:=OpenSCManager(nil,nil,SC_MANAGER_ALL_ACCESS);
    schService:=OpenService(schSCManager,Pchar(svr),SERVICE_ALL_ACCESS);
    result := True;
    try
    if StartService(schService,0,Argv) then
    begin
    while (QueryServiceStatus(schService,ssStatus)) do
    begin
    Sleep(500);
    Application.ProcessMessages;
    if ssStatus.dwCurrentState=SERVICE_START_PENDING then
    Sleep(500)
    else
    Break;
    end;//while
    if ssStatus.dwCurrentState=SERVICE_RUNNING then
    result := True
    else
    result := False;
    end
    else
    result := False;
    finally
    CloseServiceHandle(schService);
    CloseServiceHandle(schSCManager);
    end;
    end;function StopServies(svr:String):Boolean;//停止某个服务;
    var
    schService:SC_HANDLE;
    schSCManager:SC_HANDLE;
    ssStatus:TServiceStatus;
    begin
    schSCManager:=OpenSCManager(nil,nil,SC_MANAGER_ALL_ACCESS);
    schService:=OpenService(schSCManager,Pchar(svr),SERVICE_ALL_ACCESS);
    try
    if ControlService(schService,SERVICE_CONTROL_STOP,ssStatus) then
    begin
    Sleep(1000);
    while (QueryServiceStatus(schService,ssStatus)) do
    begin
    Application.ProcessMessages;
    if ssStatus.dwCurrentState=SERVICE_STOP_PENDING then
    Sleep(1000)
    else
    break;
    end; //while
    if ssStatus.dwCurrentState=SERVICE_STOPPED then
    result := True
    else
    result := False;
    end
    else
    result := False;
    finally
    CloseServiceHandle(schService);
    CloseServiceHandle(schSCManager);
    end;
    end;aero模式的控制 ,停止或者开启“UxSms”服务
      

  3.   

    楼上的方法只是关闭aero效果,好像不能变换主题