---
title: "Fullskärms läge, och prioritet i win XP?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/89915-fullskärms-läge-och-prioritet-i-win-xp"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "David Magnusson"
published: "2003-11-07T20:21:38.000Z"
updated: "2003-11-13T22:15:02.000Z"
replies: 3
views: 374
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/89915-fullskärms-läge-och-prioritet-i-win-xp"
---

# Fullskärms läge, och prioritet i win XP?

## #1 — David Magnusson, 2003-11-07T20:21Z

Undrar hur man gör för att programmet ska starta i fullskärms läge, och även hur man skriver för att ange prioritet i win XP i c++.. Håller på med ett litet kul program, som kan bli ännu kuligare om jag får veta detta.. =) 

Mvh:David Magnusson

Permalänk: https://www.webforum.nu/p/89915

## #2 — Sang-drax, 2003-11-07T23:10Z

Fullskärmsläge är svårt att göra på riktigt, men du kan skapa ett fönster med WS_POPUP och anropa SetWindowPos() med HWND_TOPMOST och göra det stort nog att täcka skärmen. Då uppnår du samma effekt.
Annars bör du lära dig DirectX eller motsvarande.

För att ställa in maximal prioritet, kör denna kod (OBS!, ingen systemprocess eller något annat kommer ens i närheten av denna prioritet, kan bli kärvt om du använder mycket processor)

```
SetPriorityClass( GetCurrentProcess(), REALTIME_PRIORITY_CLASS );
SetThreadPriority( GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL );
```

Permalänk: https://www.webforum.nu/p/1199413

## #3 — Pragma, 2003-11-12T19:25Z

Använd dig av Windows API

Jag har slängt ihop lite kod som kanske är det du söker.
Programmet skapar ett fönster som täcker hela skärmen ställer in höjden&bredden detsamma som monitorns upplösning. Skärmen målas upp helt svart.
Programmet är skrivet i ren Windows API. Kompilerat i Visual C++ och test kört i XP.
Har inte orkat  skrivit så mycket kommentarer.
Hoppas att det här ger dig lite tips.

\[\_kod\] 
//main.cpp

/\* Avsluta programmet med Alt+F4\*/

\#include \<WINDOWS.H\>

HWND g_hWndMain=0; /\*global\*/
LRESULT  CALLBACK WndProc (HWND hWnd, UINT wMessage,WPARAM wParam, LPARAM lParam);
bool minCreateWindow(WNDPROC WndProc, HWND &hWnd/\*Referens till pekare så att vi kan ändra den\*/);

// ENTRY här börjar programmet
int WINAPI WinMain (HINSTANCE hInst,HINSTANCE,LPSTR,int)
{
	minCreateWindow(WndProc,g_hWndMain);

	MSG  msg;   
	
	while (GetMessage (&msg, NULL, 0, 0))
  {
		
		TranslateMessage (&msg) ;
		DispatchMessage (&msg) ;
  }

	return(0);
}// // WinMain(...)

/\*skapar ett fönster som täcker hela skärmen\*/
bool minCreateWindow(WNDPROC WndProc, HWND &hWnd/\*Referens till pekare så att vi kan ändra den\*/)
{
  WNDCLASS wndWc;
   char MITTKLASSNAMN\[\] = "MittKlassNamn";

  wndWc.style = CS_OWNDC \| CS_HREDRAW \| CS_VREDRAW;
  wndWc.lpfnWndProc = (WNDPROC) WndProc;
  wndWc.cbClsExtra = 0;
  wndWc.cbWndExtra = 0;
  wndWc.hInstance = GetModuleHandle(NULL);
  wndWc.hIcon			=		LoadIcon(NULL ,MAKEINTRESOURCE(IDI_APPLICATION)/\*standard ikon\*/);
	wndWc.hCursor			= LoadCursor (NULL, IDC_ARROW);
  wndWc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
  wndWc.lpszMenuName = NULL;
  wndWc.lpszClassName = MITTKLASSNAMN;

  // register class
  ATOM ret = RegisterClass(&wndWc);

  // upplösningens höjd o bredd
  int screen_width = (WORD)GetSystemMetrics(SM_CXSCREEN);
  int screen_height = (WORD)GetSystemMetrics(SM_CYSCREEN); 

  // skapar fönstret
  hWnd = CreateWindow(	MITTKLASSNAMN, 
			"ProgranmmetsNamn",
                                                 WS_POPUP,					0,						0, 					                screen_width,					screen_height,					NULL, 
                                                NULL, 
			GetModuleHandle(NULL), 
			NULL);

	
  ShowWindow(hWnd, SW_SHOW);
  UpdateWindow (hWnd);    
							
  // return
  return (hWnd?true:false);
}

LRESULT  CALLBACK WndProc (HWND hWnd, UINT wMessage,WPARAM wParam,LPARAM lParam)

{
	

	// Vilket meddelande har vi?     
		switch (wMessage)                
    {
		/\*anropas bla. när du trycker Alt+F4\*/
		case WM_DESTROY: 
		{
		    PostQuitMessage(0);   
                                    break ; 
		}

    default:// Standard Windows meddelande process                        
			return DefWindowProc (hWnd,
                                                wMessage,wParam,lParam);
			break;
		}

    return(0); // returnera till Windows att terminate pgm 

}
// Slut på WndProc 
\[\_/kod\]

Permalänk: https://www.webforum.nu/p/1204579

## #4 — Pragma, 2003-11-13T22:15Z

Re: Använd dig av Windows API

> **Pragma skrev:**
>
> Jag har slängt ihop lite kod som kanske är det du söker.
> Programmet skapar ett fönster som täcker hela skärmen ställer in höjden&bredden detsamma som monitorns upplösning. Skärmen målas upp helt svart.
> Programmet är skrivet i ren Windows API. Kompilerat i Visual C++ och test kört i XP.
> Har inte orkat  skrivit så mycket kommentarer.
> Hoppas att det här ger dig lite tips.
> 
> 
> 
>
>
> ```
>  
> //main.cpp
> 
> /* Avsluta programmet med Alt+F4*/
> 
> #include <WINDOWS.H>
> 
> HWND g_hWndMain=0; /*global*/
> LRESULT  CALLBACK WndProc (HWND hWnd, UINT wMessage,WPARAM wParam, LPARAM lParam);
> bool minCreateWindow(WNDPROC WndProc, HWND &hWnd/*Referens till pekare så att vi kan ändra den*/);
> 
> // ENTRY här börjar programmet
> int WINAPI WinMain (HINSTANCE hInst,HINSTANCE,LPSTR,int)
> {
> 	minCreateWindow(WndProc,g_hWndMain);
> 
> 	MSG  msg;   
> 	
> 	while (GetMessage (&msg, NULL, 0, 0))
>   {
> 		
> 		TranslateMessage (&msg) ;
> 		DispatchMessage (&msg) ;
>   }
> 
> 	return(0);
> }// // WinMain(...)
> 
> /*skapar ett fönster som täcker hela skärmen*/
> bool minCreateWindow(WNDPROC WndProc, HWND &hWnd/*Referens till pekare så att vi kan ändra den*/)
> {
>   WNDCLASS wndWc;
>    char MITTKLASSNAMN[] = "MittKlassNamn";
> 
>   wndWc.style = CS_OWNDC | CS_HREDRAW | CS_VREDRAW;
>   wndWc.lpfnWndProc = (WNDPROC) WndProc;
>   wndWc.cbClsExtra = 0;
>   wndWc.cbWndExtra = 0;
>   wndWc.hInstance = GetModuleHandle(NULL);
>   wndWc.hIcon			=		LoadIcon(NULL ,MAKEINTRESOURCE(IDI_APPLICATION)/*standard ikon*/);
> 	wndWc.hCursor			= LoadCursor (NULL, IDC_ARROW);
>   wndWc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
>   wndWc.lpszMenuName = NULL;
>   wndWc.lpszClassName = MITTKLASSNAMN;
> 
>   // register class
>   ATOM ret = RegisterClass(&wndWc);
> 
> 
>   // upplösningens höjd o bredd
>   int screen_width = (WORD)GetSystemMetrics(SM_CXSCREEN);
>   int screen_height = (WORD)GetSystemMetrics(SM_CYSCREEN); 
> 
>   // skapar fönstret
>   hWnd = CreateWindow(	MITTKLASSNAMN, 
> 			"ProgranmmetsNamn",
>                                                  WS_POPUP,					0,						0, 					                screen_width,					screen_height,					NULL, 
>                                                 NULL, 
> 			GetModuleHandle(NULL), 
> 			NULL);
> 
> 	
>   ShowWindow(hWnd, SW_SHOW);
>   UpdateWindow (hWnd);    
> 							
>   // return
>   return (hWnd?true:false);
> }
> 
> 
> LRESULT  CALLBACK WndProc (HWND hWnd, UINT wMessage,WPARAM wParam,LPARAM lParam)
> 
> {
> 	
> 
> 	// Vilket meddelande har vi?     
> 		switch (wMessage)                
>     {
> 		/*anropas bla. när du trycker Alt+F4*/
> 		case WM_DESTROY: 
> 		{
> 		    PostQuitMessage(0);   
>                                     break ; 
> 		}
> 
>     default:// Standard Windows meddelande process                        
> 			return DefWindowProc (hWnd,
>                                                 wMessage,wParam,lParam);
> 			break;
> 		}
> 
>     return(0); // returnera till Windows att terminate pgm 
> 
> }
> // Slut på WndProc
> ```

Permalänk: https://www.webforum.nu/p/1205156

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/89915-fullskärms-läge-och-prioritet-i-win-xp
