Benutzer mit den meisten Antworten
WinExec Pfad vom Benutzer eingeben lassen

Frage
-
Ich würde es gern so machen das der Benutzer einen Befehl in ein Editcontrol eingibt aund dann auf Ausführen klicken kann, damit der Befehl ausgeführt wird. Jedoch funktioniert das alles nicht so ganz:
noch funktioniert:void CcitDlg::OnBnClickedButtonExecute() { CString str; m_editExecute.GetWindowText(str); WinExec((LPCSTR)(LPCTSTR)str, TRUE); }
Wenn ich nun z.B. notepad.exe eingabe passiert nicht. C:\Windows\notepad.exe geht genauso wenig. Woran liegt das?ShellExecute(NULL, str, _T(""), _T(""), _T(""), TRUE);
VisualCPlusPlus
Antworten
-
- WinExec ist alter Schrott. Verwende es nicht
- Was sagt GetLastError?
- Warum diese eigentümlichen casts beim Aufruf von WinExec?
- Notepad liegt in C:\Windows\system32\notepad.exe
- notepad.exe alleine müsste sich starten lassen.
- Wie wäre es bei ShellExecute mit dem Lesen der Doku:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx
1. Parameter NULL = Windows Handle
2. Parameter "OPEN" oder NULL
3. Parameter Programmname
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert KK Senior Donnerstag, 10. November 2011 18:29
Alle Antworten
-
- WinExec ist alter Schrott. Verwende es nicht
- Was sagt GetLastError?
- Warum diese eigentümlichen casts beim Aufruf von WinExec?
- Notepad liegt in C:\Windows\system32\notepad.exe
- notepad.exe alleine müsste sich starten lassen.
- Wie wäre es bei ShellExecute mit dem Lesen der Doku:
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762153(v=vs.85).aspx
1. Parameter NULL = Windows Handle
2. Parameter "OPEN" oder NULL
3. Parameter Programmname
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de- Als Antwort markiert KK Senior Donnerstag, 10. November 2011 18:29
-
zu 1. Dann benutze ich jetzt ShellExecute
zu 2. Hab ich nicht nachgeguckt
zu 3. Ich habs einfach nicht anders hinbekommen, so schien die Konvertierung aber zu Funktionieren
zu 4. Bei mir liegt notepad in C:\Windows\
zu 5. Jetzt lässt es sich auch starten
zu 6. Nachdem ich die Doku ngelesen habe hab ich auch die Parameter richtig geordnet, sodass es funktioniert
Also geht jetzt alles ganz normal. Danke.
VisualCPlusPlus