Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Systemthread anhalten (ACPI) (https://www.delphipraxis.net/133835-systemthread-anhalten-acpi.html)

Andru 10. Mai 2009 11:01


Systemthread anhalten (ACPI)
 
Hallo zusammen,

ist es möglich mit Delphi auf Systemthreads zuzugreifen und diese in Suspend-Status zu setzen?

Habe das Problem, dass ich den Thread aus ACPI.sys für ein bestimmtes Musikprogramm anhalten muss,
um die Latenz am USB-Controller zu minimieren.
Zurzeit mache ich das über den ProcessExplorer. Da kann ich direkt den Thread über System wählen und suspenden.
Würde das allerdings gern automatisieren, wenn ich das Programm starte oder ne Batch oder was auch immer
vorherausführe.

Bin kein großer Programmierer, würde mich daher sehr über eure detailierte Hilfe freuen!

Vielen Dank im Voraus!

quendolineDD 10. Mai 2009 11:02

Re: Systemthread anhalten (ACPI)
 
Um einen Thread manipulieren zu können brauch man entweder die gleiche Priorität oder eine höhere. Für System wäre das System oder Echtzeit.
Also in C++ wäre das relativ schnell zu machen, da ich dort auch alle Header zur Verfügung habe...

Du musst erstmal die Prozess-ID herausfinden. Nehm dazu die Toolhelp32 API. Liste dir alle Programme auf und dann kannst du anhand der PID dir alle zugehörigen Threads anzeigen lassen und diesen dann die Priorität ändern bzw. diese in suspended-Mode setzen. Nehm dazu MSDN-Library durchsuchenSuspendThread.

Kurz gegoogelt findest du alle Quelltexte die du brauchst und nur noch etwas ändern musst.
iterate threads
iterate processes


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz