Entwickler-Ecke
Windows API - *.exe Starten
deagle - Sa 21.09.02 17:23
Titel: *.exe Starten
Hallo
Der soll die Exe Starten aber was der Starten soll der aus ner ComboBox nehmen!!!
Quelltext
1: 2: 3:
| ShellExecute(Application.Handle, 'open', PChar('ComboBox1.Text'), nil, nil, SW_ShowNormal); |
tommie-lie - Sa 21.09.02 18:33
Versuch mal die Quotes ( ' ) im PChar wegzulassen. Und hinter dem Combobox.Text solltest du's mal mit 'nem ^probieren...
Vielleicht klappt's dann...
Tschüß
Thomas
Delete - Sa 21.09.02 18:39
tommie-lie hat folgendes geschrieben: |
Versuch mal die Quotes ( ' ) im PChar wegzulassen. |
Das is´n guter Rat.
Zitat: |
Und hinter dem Combobox.Text solltest du's mal mit 'nem ^ probieren... |
Das allerdings nicht.
Zitat: |
Vielleicht klappt's dann. |
Ja! Wenn er deinen ersten Rat befolgt und in der ComboBox die Namen von vernünftigen und existierenden Dateinamen drin stehen. :wink:
Delete - Sa 21.09.02 20:33
Eigentlich macht man sowas ja mit CreateProcess. :roll:
DeCodeGuru - Sa 21.09.02 20:42
Zitat: |
Eigentlich macht man sowas ja mit CreateProcess. |
Sicherlich haste Recht. ShellExecute wird meines Wissens nach nur zum "Starten" von Datein verwendet. ALso, dass das dazugehörigen Programm gestartet wird und die Datei dann läd, aber ich denk, dass man einen Anfänger nicht gleich mit CreateProcess "erschlagen" sollte. :wink:
Delete - Sa 21.09.02 20:51
DeCodeGuru hat folgendes geschrieben: |
Zitat: | Eigentlich macht man sowas ja mit CreateProcess. | aber ich denk, dass man einen Anfänger nicht gleich mit CreateProcess "erschlagen" sollte. |
Du hälts es also für besser ihm etwas falsches bei zu bringen?
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23:
| function RunProcess(FileName: string): Longword; var StartupInfo: TStartupInfo; ProcessInfo: TProcessInformation; begin FillChar(StartupInfo, SizeOf(StartupInfo), #0); StartupInfo.cb := SizeOf(StartupInfo); StartupInfo.dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK; StartupInfo.wShowWindow := SW_SHOW; if not CreateProcess(nil, @Filename[1], nil, nil, False, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInfo) then Result := WAIT_FAILED; end; |
Ich hoffe, ich habe da auf die Schnelle nichts übersehen. Das läßt sich übrigens noch ausbauen. Aber weil es ja für einen
Anfänger sein soll.
DeCodeGuru - Sa 21.09.02 21:09
Zitat: |
Du hälts es also für besser ihm etwas falsches bei zu bringen? |
Das habe ich so nicht gesagt!!! Ich meinte nur, dass Leute, die noch nicht so gut programmieren können, auch die Sachen, die wir/du posten auch verstehen sollten. Und du musst zugeben, dass CreateProcess doch relativ komplex ist.
Zitat: |
Aber weil es ja für einen Anfänger sein soll. |
Du betonst es so, als ob ich den, der das Thema eröffnet hat, als Anfänger abstufen würde, was ich allerdings nicht getan habe. Es lesen auch noch andere Leute, die vielleicht noch Anfänger sind, diesen Thread und wollen daraus lernen.
Delete - Sa 21.09.02 21:13
Na dann. Warum sollen sie es nicht gleich richtig lernen?
Delete - So 22.09.02 08:42
DeCodeGuru hat folgendes geschrieben: |
Du betonst es so, als ob ich den, der das Thema eröffnet hat, als Anfänger abstufen würde, was ich allerdings nicht getan habe. |
Bei allem Respekt, DeCodeGuru, aber jemand, der den Text einer ComboBox in Anführungszeichen stellt und sich dann wundert, dass nichts passiert, der ist ein Anfänger und sollte vielleicht lieber erst noch mal in die Hilfe gucken bevor er sich Themen wie "ShellExecute" oder "CreateProcess" widmet.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!