![]() |
Re: Programm beenden über Programm
Wenn du keine Klasse angeben willst, darfst du keinen Leerstring übergeben, sonder musst nil übergeben. :warn:
|
Re: Programm beenden über Programm
Ja genau, NIL ist natürlich noch ein bisschen besser als PChar(0).
Aber gerade auch mit NIL trägt man da doch ebenfalls dem Umstand Rechnung, dass es sich bei diesen Parametern doch eben um Pointer (auf Null-terminierte Strings) handelt. Wenn hier im Forum dann also sonst immer nur hardgecodete Strings als normale Strings da reingeschrieben werden - weil einfach irgendeine Compilermagic das in diesem Falle dann automatisch umcastet - so ist es für den nicht-Profi dann doch einfach umso schwerer, im Falle eines leeren Parameters auch tatsächlich zum NIL zurückzufinden. ...würde da nämlich tatsächlich ein normaler String als Parameter verlangt werden, dann wäre im besagten Fall da ein NIL nämlich nie richtig, sondern man müsste dann wieder ein '' verwenden... Hier also auf so eine Compilermagic zu vertrauen und nur deswegen nicht mehr die vollen Parameter-Formate richtig auszuschreiben halte ich da also (pädagogisch *g*) doch eher für verwirrend... (Ich schreibe das nur, weil das in diesem Thread hier ja auch so der Fall war. Der ursprüngliche Fragesteller könnte hier also in dem einen oder anderen Versuchslauf durchaus mal mit einem solchen leeren ('') String gearbeitet haben und nur deswegen dann am Ziel vorbeigeschrammt sein :( ) |
Re: Programm beenden über Programm
Hallo,
ich habe das gleiche Problem, ich möchte nicht ein Programm beenden sondern ein Video stoppen. Das Video wird mit Windows Media Player in Internet Explorer aber in Hintergrund gespielt. Mit dem WinSpy zeigt mir die Information von dem Video : ![]() Es musste eigentlich mit dem Code funktionieren aber leider nicht ! :
Delphi-Quellcode:
Wie kann man das Fenster von WMP finden?const {Windows Media Player API} ... WMP_MEDIA_PLAY_PAUSE = $E0000; procedure TForm1.Button1Click(Sender: TObject); var myHandle:HWND; begin //myHandle := 331038; //myHandle := FindWindow(nil, 'ActiveMovieWindow'); // über seinen Titel finden //myHandle := FindWindow('VideoRenderer', 'ActiveMovieWindow'); // über seinen Klassennamen finden //myHandle := FindWindow('WMPlayerApp', 'Windows Media Player'); // über seinen Classname finden if myHandle <> 0 then Sendmessage(myHandle, WM_APPCOMMAND, 0, WMP_MEDIA_STOP) else ShowMessage('Nicht gefunden'); end; end. Hier ist ein Demo (ein Video in HTML-Seite) in diesem Art (besser die Seite mit Internet Explorer öffnen) : ![]() ---------- |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz