| |
|
|
| ¡Hola Profaner...
Welche Rückmeldungen liefert folgender Ver código fuente bajo XP??? KompilierenMarcaSeparaciónDef @SetPriorityClass(2) !"KERNEL32","SetPriorityClass"
DEF @FormatMessage(7) !"KERNEL32","FormatMessageA"
DEf @GetLastError(0) !"KERNEL32","GetLastError"
Def @GetCurrentProcess(0) !"KERNEL32","GetCurrentProcess"
DEf @SetLastError(1) !"KERNEL32","SetLastError"
Def GetPriorityClass(1) !"KERNEL32","GetPriorityClass"
DEF SetThreadPriority(2) !"KERNEL32","SetThreadPriority"
DEF GetCurrentThread(0) !"KERNEL32","GetCurrentThread"
DEF GetThreadPriority(1) !"KERNEL32","GetThreadPriority"
Declare GETERROR_Buffer#,Fehler&,PHandle&,THandle&
PROC LastError
Parameters Rückgabe&
Declare GETERROR_Buffer$
DIM GETERROR_Buffer#,32000
@FormatMessage($1000,0,Rückgabe&,0,GETERROR_Buffer#,32000,0)
Let GETERROR_Buffer$=@STRING$(GETERROR_Buffer#,0)
Dispose GETERROR_Buffer#
Return GETERROR_Buffer$
Endproc
Windowstyle 31
Windowtitle "Priorität setzen"
Window 0,0-640,440
Addstring "Priorität des Prozesses="
ADDSTRING " Priorität vorher: "+@str$(GetPriorityClass(GetCurrentProcess()))
@SetLastError(0)
LET PHANDLE&=@GetCurrentProcess()
LET FEHLER&=@SetPriorityClass(PHANDLE&,$100)
LastError @GetLastError()
ADDSTRING " Rückmeldung SetPriorityClass: "+@STR$(Fehler&)
ADDSTRING " Priorität jetzt: "+@str$(GetPriorityClass(GetCurrentProcess()))
ADDSTRING " "+@$(0)
Addstring "Priorität des Threads="
ADDSTRING " Priorität vorher: "+@str$(GetThreadPriority(GetCurrentThread()))
@SetLastError(0)
LET THANDLE&=@GetCurrentThread()
LET FEHLER&=@SetThreadPriority(THANDLE&,$F)
LastError @GetLastError()
ADDSTRING " Rückmeldung SetThreadPriority: "+@STR$(Fehler&)
ADDSTRING " Priorität jetzt: "+@str$(GetThreadPriority(GetCurrentThread()))
ADDSTRING " "+@$(0)
@EDITBOX("Rückgaben",1)
While 0=0
Waitinput
Wend
PS: Für el que no auskennen -> Code es wegen Waitinput trotz $100 en SetPriorityClass unbedenklich... Yo erhöhe hier antes allen Dingen con SetPriorityClass el Priorität des aktuellen Prozeses y así auch el Tiempo, el una individual Prozess (eigentlich Hilo) para Durchführen de Berechnungen disponible es. Como hier Waitinput instalado es y sonst no Aktionen tener lugar, se el Boost dieses Prozesses no aumenta y el Sistema restos stabil. |
|
|
| |
|
|
|
Torsten Rümker | |
|
| Ich lerne, ob ich will oder nicht! Betriebssystem: - Ubuntu 15.x - Windows (diverse) XProfan Version: X2 | 08.10.2005 ▲ |
|
|
|
|
| Besten Dank Torsten, ha geholfen - ahora sehe Yo klarer... |
|
|
| |
|
|
|
Michael Wodrich | |
|
| Programmieren, das spannendste Detektivspiel der Welt. | 08.10.2005 ▲ |
|
|
|
|
| OK, qué undokumentiertes: Das Privileg SeIncreaseBasePriority schränkt el API API SetPriorityClass una. SetPriorityClass es esta no en el Aktivierung des Privilegs angewiesen, pero aktiviert dieses incluso - lo muß also sólo disponible ser. Fehlt el angesprochene Privileg, kann el REALTIME_PRIORITY_CLASS ($100) no vergeben voluntad. Wird intenta esta Priorität a vergeben, se el Priorität en el entonces höchsten Valor ($80) HIGH_PRIORITY_CLASS gesetzt. Un Rückmeldung encima evtl. no vorhandene Rechte es no.
Diese Aussage es nirgendwo sonst en el Netz dokumentiert, y yo voluntad hoffen, daß esta Punto bien aufgehoben y gepflegt se!
El API SetThreadPriority se no por el Privileg eingeschränkt, obwohl esta API ebenfalls para Setzen el Basispriorität beiträgt! |
|
|
| |
|
|