Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » Visual Basic 6.0 / VBA » Messages senden...

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
05.09.2005, 15:02 Uhr
Veasel



Hi Leute,
ich hab da mal follgendes Problem:
starte aus einer c++ anwendung ein vb-programm und will am ende des programms eine nachricht an meine c++ anwendung schicken, damit die weiß, wann das vb-programm fertig ist. klingt komisch- will ich aber so :-)
kann mir da jemand helfen...?
--
MFG Veasel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.09.2005, 15:32 Uhr
Airdamn



Wenn Du mit WaitForSingleObject arbeitest, dann brauchst Du wohl keine Messages senden.
Die C++-Anwendung wartet dann z.B. solange, bis die VB-Anwendung fertig ist...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.09.2005, 15:40 Uhr
Veasel



hmm, hab ich noch nichts von gehört.
kannst du da mal ein beispiel geben?
--
MFG Veasel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
06.09.2005, 10:05 Uhr
Airdamn



z.B. so:

C++:
#include <windows.h>
#include <shellapi.h>
#include <iostream>

#pragma comment( lib, "SHELL32.lib" )

using namespace std;

int main()
{
    SHELLEXECUTEINFO sei = { 0 };
    sei.fMask    = SEE_MASK_NOCLOSEPROCESS;
    sei.cbSize    = sizeof( sei );
    sei.lpVerb    = "open";
    sei.lpFile    = "sleep.exe"; //<- das Prog, auf das Du wartest
    sei.nShow    = SW_SHOW;
    
    
    if( ShellExecuteEx( &sei ) && sei.hProcess )
        WaitForSingleObject( sei.hProcess, INFINITE ); //<- hier wartet er solange, bis das andere Prog beendet ist
    
    return 0;
}


Dieser Post wurde am 06.09.2005 um 10:09 Uhr von Airdamn editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
06.09.2005, 13:18 Uhr
Veasel



Im Moment mache ich das so:

C++:
//===Startstring zusammenbauen===
String Start = "\"" + ExtractFilePath(Application->ExeName) + "data\\sidread.vbs\"";
String Parameter =" " + domain + " " + ServerName + " \"" + infile + "\" \"" + outfile + "\" " + Username + " " + Password + " " + AllAccounts;
//===Script starten===
ShellExecute (Handle, "open", Start.c_str(), Parameter.c_str(), NULL, SW_SHOWNORMAL);


hab mal versucht deinen Code da einzubauen aber hat nicht geklappt!
kannst mir vielleicht noch ne hilfe geben.

hab auch schon überlegt, dass ganze nicht über ein Script zu machen, sondern direkt in c++ zu proggen aber hab noch keine Ahnung wie!

DANKE!!
--
MFG Veasel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
06.09.2005, 13:21 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


das script ist auch das problem das WaitForSingleObjekt nicht klappt
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
06.09.2005, 13:25 Uhr
Veasel



gibts denn so was wie exitcodes bei scipten die ich abfangen kann?
will sowas wie eine warteschlange mache während das script läuft, damit man weiß, dass auch noch was passiert.
--
MFG Veasel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
06.09.2005, 14:37 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


hä? du wiedersprichst dich grad. Exitcode und Runtimestatus hat nicht viel miteinander zu tun

Exitcode kannst du natürlich abfragen


C++:
GetExitCodeProcess(ProzessHandle);



Runtimestatus musst halt anders machen, z.b Nachricht an hauptfenster schicken o.ä
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
06.09.2005, 14:44 Uhr
Veasel



naja es ist mir eigentlich egal wie!
entweder warte meine c++-programm eine variable von dem script(nachricht schicken) oder merkt von allein, dass das script fertig ist.
hab aber bei beidem keine ahnung wie ich das machen könnte!
bin ja auch noch in der lernphase... *schluchts*

die warteschlange soll auch nicht den stand der arbeit des scriptes anzeigen, es würde eben reichen, wenn sie einfach solange läuft bis das scipt fertig ist. machen ja einige installationswarteschlangen unter windows auch nicht anders ;-)
--
MFG Veasel
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
06.09.2005, 14:47 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


sollte auch mit WaitForSingleObject gehen.

Oder du fragst alle sek z.b ab ob das Script einen exitcode hat (ExitCode != STILL_ACTIVE) und machst dann mit deiner ausführung weiter.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ Visual Basic 6.0 / VBA ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: