Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Prozess Prioritäten verwalten

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 18.11.2006, 21:01    Titel: Prozess Prioritäten verwalten Antworten mit Zitat

Hallo lächeln wie kann ich unter Windows die Prozess Prioritäten verwalten bzw. die Priorität des eigenen Prozzes auf "Hoch" stellen (eventuell über WinAPI?)

Danke sag ich schonmal jetzt zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 18.11.2006, 21:14    Titel: Antworten mit Zitat

verwalten... auf anhieb fällt mir dazu nur der task-manager ein... rechtklick auf einen prozess.. aber das kennst du wohl schon...?
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 18.11.2006, 21:47    Titel: Antworten mit Zitat

Jojo hat Folgendes geschrieben:
verwalten... auf anhieb fällt mir dazu nur der task-manager ein... rechtklick auf einen prozess.. aber das kennst du wohl schon...?


Ja durchgeknallt

Es geht mir darum das ich will das mein Programm sich selbst eine höhere Priorität zuweist.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 18.11.2006, 22:00    Titel: Antworten mit Zitat

Hi. lächeln
Code:

Declare Function SetPriorityClass Lib "kernel32.dll" alias "SetPriorityClass" (byval hProcess As Long, byval dwPriorityClass As Long) As Long

Ein möglicher Wert für dwPriorityClass ist imho THREAD_PRIORITY_TIME_CRITICAL -> Zeitkritischer Prozess. Hm, aber da das 'ne Konstante ist, müsste die evtl. irgendwo in 'ner Include definiert sein. neutral
Allerdings weiß ich jetzt nicht, wie man das Prozesshandle rausbekommt. grinsen
Evtl. kann da einer der WinAPI-Junkies helfen? lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ytwinky



Anmeldungsdatum: 28.05.2005
Beiträge: 2624
Wohnort: Machteburch

BeitragVerfasst am: 18.11.2006, 23:01    Titel: Antworten mit Zitat

Hi,
rein informationshalber ist erstmal ActiveVB zu empfehlen, denn dort sind die nötigen Grundlagen erklärt..
..wie das Ganze in FB umzusetzen ist, habe ich noch nicht probiert, weil ich noch nie vor dem Problem stand, NotePad eine höhere Priorität als Nero zu verpassen grinsen
Außerdem gibts ja von dreael TaskKill und dort muß er sich ja auch irgendwie mit der Ermittlung von Prozeß-Handles befaßt haben zwinkern
Gruß
ytwinky
_________________
v1ctor hat Folgendes geschrieben:
Yeah, i like INPUT$(n) as much as PRINT USING..
..also ungefähr so, wie ich GOTO..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Dominik



Anmeldungsdatum: 22.12.2004
Beiträge: 172

BeitragVerfasst am: 22.11.2006, 17:35    Titel: Antworten mit Zitat

Code ist nicht getestet, aber
so sollte es gehen:

Code:
Function SetWindowProcessPriority(hWnd As HWND, Priority As DWORD)
 Dim hProcess As HANDLE
 Dim ProcessId As DWORD

 GetWindowThreadProcessId(hWnd, @ProcessId)
 hProcess = OpenProcess(0, FALSE, ProcessId)
 SetPriorityClass(hProcess, Priority)
 CloseHandle(hProcess)
End Function
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2507
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 22.11.2006, 18:26    Titel: Antworten mit Zitat

Ich denke einmal, von den Berechtigungen her dürfte es wie bei den anderen Betriebssystemen sein: Priorität erniedrigen kann jeder, dagegen erhöhen nur Administratoren und evtl. auch Hauptbenutzer.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1874
Wohnort: D59192

BeitragVerfasst am: 23.11.2006, 13:20    Titel: Antworten mit Zitat

Hi,
in zeitkritischen Anwendungen habe ich
Code:
#include once "windows.bi"

...
SetPriorityClass( GetCurrentProcess(), HIGH_PRIORITY_CLASS )

...

SetPriorityClass( GetCurrentProcess(), NORMAL_PRIORITY_CLASS )
...

benutzt.
_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Devilkevin
aka Kerstin


Anmeldungsdatum: 11.11.2004
Beiträge: 2532
Wohnort: nähe Mannheim

BeitragVerfasst am: 23.11.2006, 15:07    Titel: Antworten mit Zitat

Danke allen, hat alles gut geklappt lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 01.12.2006, 08:07    Titel: Antworten mit Zitat

Klappt das unter Linux auch (natürlich auf nem Anderen Wege als WinAPI, die steht ja ohne Wine nicht zur Verfügung, und selbst wenn... naja)

Oder verteilt Linux grundsätzlich auf alle Programme Rechenzeit, die sich als Laufend deklariert haben, nur das aktuell offene Programm läuft ein klein wenig schneller?

Sorry für diese vlt. blöde frage, sicher könnte ich das auch alleine im Quelltext nachsehen, allerdings bin ich vielleicht auch einfach nur zu dumm dazu... peinlich
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
helium



Anmeldungsdatum: 10.09.2004
Beiträge: 397
Wohnort: Leverkusen

BeitragVerfasst am: 01.12.2006, 12:56    Titel: Antworten mit Zitat

PMedia hat Folgendes geschrieben:
Oder verteilt Linux grundsätzlich auf alle Programme Rechenzeit, die sich als Laufend deklariert haben, nur das aktuell offene Programm läuft ein klein wenig schneller?

Nein das Prozess-Scheduling unter Linux ist nicht komplett verblödet. Glaubst du das ernsthaft?

Gib z.B. mal 'man nice' ein.

Welches Programm ist das aktuell offene? Hmmm....
_________________
Bevor Sie aufhören sich körperlich zu betätigen sollten Sie ihren Doktor befragen. Körperliche Inaktivität ist abnormal und gefährlich für Ihre Gesundheit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PMedia



Anmeldungsdatum: 14.08.2006
Beiträge: 2847

BeitragVerfasst am: 01.12.2006, 13:41    Titel: Antworten mit Zitat

Hätt ja sein können... wie gesagt, Linux bin ich noch relativ Noob. Aber ich entwickel mich ja noch... hab ja noch ca. 70 Jahre bis zu meinem momentan kalkulierten Tot, eine Menge Zeit... wenn nix dazwischenkommt...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Windows-spezifische Fragen Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz