Net Send Befehl in C++ Applikation einbauen



  • Hallo,
    ich bin grade dabei eine DOS Anwendung zu schreiben welche am Anfang nach dem PC Namen fragt und der Anzahl der zu verschickenden Nachrichten welche dann hinterher über den Net Send Befehl verschickt werden sollten.

    Habe jetzt 2 int Variablen benutzt einmal für die PC Nummer und einmal für die Anzahl der Nachrichten..

    nun sieht mein Problem aber so aus:

    cout<<"Bitte die PC Nummer eingeben (Ohne WS!)"<<endl;
        cin>>PC;
        cout<<""<<endl;
        cout<<"Wie viele Nachrichten sollen verschickt werden?"<<endl;
        cin>>Nachrichten;
        system("net send WS<<PC<<");
    

    In der Letzten Zeile soll nun nach dem WS die nummer angehängt werden die oben eingegeben wurde.. wie mache ich das? Weil so bekomm ich da leider nur Compiler Fehler!

    Gruß
    Manuh



  • Du kannst das mit einem stringstream machen.



  • benutz lieber die Funktion NetMessageBufferSend



  • habs jetzt so

    strcpy(netsend,"net send ");
    strcat(netsend,"WS");
    strcat(netsend,PC);
    strcat(netsend," ");
    strcat(netsend,text);
    for (i=1;i<=Nachrichten;i++){
    system(netsend);
    

    Würde aber lieber die 2. Alternative vom User über mir benutzen da man dort ja glaube auch den Absender ändern kann, nur leider verstehe ich nicht wie ich das wirklich anwende! Wäre dankbar um Hilfe!

    Gruß
    Manuh



  • Iksde schrieb:

    Würde aber lieber die 2. Alternative vom User über mir benutzen da man dort ja glaube auch den Absender ändern kann, nur leider verstehe ich nicht wie ich das wirklich anwende! Wäre dankbar um Hilfe!

    Das steht in der MSDN: http://msdn2.microsoft.com/en-us/library/aa370605(VS.85).aspx



  • Hi Iksde,

    hättest du ein paar Einträge weiter unten geguckt und dich gemeldet, hätte ich dir auch früher das Beispiel zeigen können.
    So hab ich es gemacht und es scheint auch zu funktionieren:

    // am Anfang
    #define UNICODE
    
    #include <windows.h>
    #include <lm.h>
    
    // in der zuständigen Funktion 
    TCHAR           msgname[MAX_LAENGE], buf[MAX_BEFEHL];
    NET_API_STATUS  errorCode;
    
    // ...Benutzereingaben einlesen...
    
    errorCode = NetMessageBufferSend(NULL, msgname, NULL, (LPBYTE)buf, lstrlen(buf) * sizeof(TCHAR));
    printError(hDlg, errorCode);
    

    msgname ist der Zielrechner.
    buf ist die Nachricht.
    printError macht nichts weiter als mittels einer switch-Anweisung für jeden Fehlercode eine MessageBox mit passendem Fehlertext auszugeben.

    Und nicht vergessen die Netapi32.lib zu linken 😉
    Für weitere Infos empfehle ich auch eine Suche hier im WinAPI-Forum, daran hatte ich selbst wegen der anfänglichen Idee mit net send auch nicht gedacht.

    Viele Grüße


Anmelden zum Antworten