Ausführen eienr Applikation
-
Hallo, ich versuche gerade eien Applikation zu bauen, welche mittels einer GUI Text und Paswort abfragt und diese dann per gpg entschlüsselt.
Ich habe mittels Visual C++ 2005 Express schon eine gui zusammen bekommen.
Jedoch weis ich nicht, wie ich in C++ ein Programm ausführen kann.
Ich habe hier mal folgenden Beipspielcode in PHP, welcher das geforderte erledigt:
putenv('GNUPGHOME='.$gpg_path); $descriptorspec = array( 0 => array('pipe', 'r'), // stdin is a pipe that the child will read from 1 => array('pipe', 'w'), // stdout is a pipe that the child will write to 2 => array('pipe', 'w') // stderr is a file to write to ); $cwd = $pfad; $content = 'Ddddddddddddddddddd'; $passwd = 'geheim'; $parameter.=' --decrypt'; $parameter.=' --armor '.$pfad.$zw; $process = proc_open('gpg '.$parameter, $descriptorspec, $pipes); if (is_resource($process)) { list($stdin, $stdout, $sterr) = $pipes; // den verschlüsselten String ein streamen fwrite($stdin, $content); $content = ''; $tmp = ''; while (!feof($stdout)) $tmp.=fgets($stdout); if (strpos($tmp, 'Geben Sie die Passphrase ein:')!==false) { fwrite($stdin, $passwd); $tmp = ''; while (!feof($stdout)) $tmp.=fgets($stdout); if (strpos($tmp, 'Geben Sie die Passphrase ein:')!==false) { $content = $tmp; } else { $content='Passwort flasch'; } unset($tmp); fclose($stdin); fclose($stdout); fclose($sterr); } else { fclose($stdin); fclose($stdout); while (!feof($sterr)) $content.=fgets($sterr); fclose($sterr); } $return_value = proc_close($process); }
PS bitte auch die benötigten bibliotheken bei schreiben.. bin absoluter C++ Anfanger (bisher nur kleien Konsolen Aplikationen geschrieben)
-
- 1. Wir sind hier im MFC Forum - Versuche es mal in Webzeugs
- 2. Meines Wissens kann Visual C++ 2005 Express nicht PHP auswerten, denn
- 3. PHP ist nicht C++, sondern
- 5. nur eine "Sprache"
die auf dem Webserver ausgeführt wird.
Mit freundlichen Grüßen
Rhombicosidodecahedron
-
So, und jetzt lesen wir die Frage einfach nochmal, vielleicht verstehen wir sie ja beim zweiten Mal
-
GreenRover schrieb:
Jedoch weis ich nicht, wie ich in C++ ein Programm ausführen kann.
- CRT: spawn / _execl / system
- WinAPI: CreateProcess / ShellExecute
- C++/CLI: System::Diagnostics::Process::Start
-
Danke @ Jochen.
Ich vermute mal, das CreateProcess am ähnlichsten sein dürfte oder?
Ich kann aber igent wie kein Anwendungsbeipspiel dafür finden.
Nur das: http://msdn2.microsoft.com/en-us/library/ms885182.aspx
Aber das hilft mir noch 0 weiter.Hat villeich noch jemand ein kleines code beispiel für mich.
-
-
Zweites Beispiel in:
http://msdn2.microsoft.com/en-gb/library/edze9h7e.aspx
-
soory ich lese und probier schon wieder fast ein tag und bekomme es einfach nicht zustande...
kann mir nicht einer den oben geposteten code schnell auf C++ übersetzen?
währe echt dankbar.
EDIT:
Ich habe zwar schon ein paar tutorials durch wie diese:
http://www.catch22.net/tuts/undoc01.asp
Jedoch bekomm ich da immer nur folgenden Fehler.
fatal error C1083: Cannot open include file: 'windows.h': No such file or directoryDiese Header Datei wird aber in sehr sher vielen Tutorials benötigt.
-
#include <windows>
hab ich aber selber noch nie includiert das macht das stdafx,h fuer mich #gg
-
So nun habe ich eine Fehler..
Zu der express version, muss man sich erstens das SDK saugen und es 2tens noch manuell verlinken..aber nun schmeist mir das ganze folgenden fehler...
d:\visual studio 2005\projects\test 123\test 123\undoc01.cpp(80) : error C2664: 'GetModuleFileNameW' : cannot convert parameter 2 from 'char [200]' to 'LPWCH' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast d:\visual studio 2005\projects\test 123\test 123\undoc01.cpp(83) : error C2664: 'CreateProcessW' : cannot convert parameter 2 from 'char [200]' to 'LPWSTR' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast d:\visual studio 2005\projects\test 123\test 123\undoc01.cpp(95) : error C2664: 'MessageBoxW' : cannot convert parameter 2 from 'LPBYTE' to 'LPCWSTR' Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast d:\visual studio 2005\projects\test 123\test 123\undoc01.cpp(113) : error C2664: 'GetShortcutName' : cannot convert parameter 1 from 'char [200]' to 'TCHAR *'
auf das oben genannte tutorial.
aber die parameter stimmen können sich doch nicht mal ebend geänder haben ?!
-
im Visual Studio 2005 werden neue Projekte standardmäßig als Unicode kompiliert und nciht mehr als MultiByte.
-
Ähmmm und wie löse ich das Problem nun???
-
ersetze char durch TCHAR und "mein string-inhalt" durch _T("mein string-inhalt")