自动隐藏系统任务条好像是使用一个鸟API:SHAppBarMessage(),定义如下:
WINSHELLAPI UINT APIENTRY SHAppBarMessage(
    DWORD dwMessage, 
    PAPPBARDATA pData
); 

解决方案 »

  1.   

    还有你查查这些个雀雀:
    ShowWindow(Application->Handle, SW_HIDE[SW_SHOW]);
    或:
    WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)   
    {
     
        DWORD dwExStyle = GetWindowLong(Application->Handle, GWL_EXSTYLE);
        dwExStyle |= WS_EX_TOOLWINDOW;  //使之成为toolwindow
        SetWindowLong(Application->Handle, GWL_EXSTYLE, dwExStyle);
     try{
          ...
         }
      catch(...)
         {
           ...
          }
      

  2.   

    得到分辨率:
    int GetSystemMetrics(    int nIndex  // system metric or configuration setting to retrieve  
       );
    你去查查相关的!
      

  3.   

    to javaw:你的Application在哪里定义的?
      

  4.   

    直接在程序中更改显示模式可以访问系统注册表HKEY_CURRENT_CONFIG\DISPLAY\SETINGS来获知当前的显示分辨率和颜色数。但常用以下方法:关键的API函数是EnumDisplaySettings和ChangeDisplaySettings。前者用来获得当前显示驱动所支持的所有显示模式,而后者用来改变显示模式。如果有个程序改变了显示模式, 
    则Windows会向所有正在运行的程序发送WM_DISPLAYCHANGE消息。获得当前显示模式可以使用下面的函数,它比访问注册表可靠。Bool CVideoModes :: GetCurrentVideoSettings(DEVMODE *devmode){HWND hwndDesktop=GetDesktopWindow();HDC hdc=GetDC(hwndDesktop);devmode -> dmSize =sizeof(DEVMODE);devmode -> dmBitsPerPel=GetDeviceCaps(hdc,BITSPIXEL);devmode -> dmPelsWidth=GetSystemMetrics(SM_CXSCREEN);devmode -> dmPelsHeight=GetSystemMetrics(SM_CYSCREEN);devmode -> dmFields=DM_BITSPERPEL | DM_PELSWIDTH | DM_PELSHEIGHT;return TRUE;}下面的代码展示了如何使用EnumDisplaySettings获得当前支持的所有显示模式:int modenum,done;DEVMODE devmode;done=0;modenum=0;do{done=!EnumDisplaySettings(NULL,modenum,&devmode);AddToList(&devmode);modenum++;}while (!done);设置显示模式的方法如下:rc = ChangeDisplaySettings(&devmodeCDS_FULLSCREEN));这里的devmode就是前面使用EnumDisplaySettings获得的。如果设置正常,返回值DISP_CHANGE_SUCCESSFUL。