1 Programm vom anderen abhängig machen



  • huhu
    ich hab ein Programm geschrieben und ein zweites.
    Ich meine das so ungefähr
    Programm 1:
    if (i<5)
    SetComputerVariable summe = 5;

    Programm 2:
    if(SetComputerVariable summe == 5)
    cout << "hallo";

    also das ich beim ersten Programm irgendwas setze
    das das 2 Programm abfragen kann
    Danke 🙂
    SetComputerVariable ist natürlich erfunden.



  • Am einfachsten wäre es eigentlich, wenn Du Dem zu benachrichtigenden Programm via SendMessage/PostMessage eine von Dir definierte Nachricht schickst (-> WM_USER + n). Im Message-Handler dieser Nachricht setzt Du dann einfach eine programm-lokale (statische) Variable entsprechend des in WPARAM oder LPARAM angegebenen Wertes, Beispiel:

    In 'prog1.exe':

    // ...
    #define WM_TRANSMIT (WM_USER + 1)
    // ...
    // In der WndProc:
    PostMessage(hWndProg2, WM_TRANSMIT, 22, 0);
    // ...
    

    In 'prog2.exe':

    // ...
    #define WM_TRANSMIT (WM_USER + 1)
    // ...
    // In der WndProc:
    static UIN uiProg1Var = 0;
    // ...
    case WM_TRANSMIT:
        uiProg1Var = wParam;
        break;
    // ...
    


  • danke sowas hab ich gesucht
    leider krieg ich bei Prog2 einige fehler
    case label 1025' not within a switch statementUIN' does not name a type
    uiProg1Var' undeclared (first use this function)wParam' undeclared (first use this function)

    hier die codes

    #include <windows.h>
    #define WM_TRANSMIT (WM_USER + 1) 
    
    int main() {
        HWND hwnd = FindWindow("Programm2",0 );
        PostMessage(hwnd, WM_TRANSMIT, 22, 0); 
        }
    
    #include <windows.h>
    #define WM_TRANSMIT (WM_USER + 1) 
    
    int main() {
        static UIN uiProg1Var = 0; 
        case WM_TRANSMIT: 
        uiProg1Var = wParam; 
        break;  
        }
    


  • Ohaaaa...also mal davon abgesehen, dass ich (aufgrund der Wahl des Forums) davon ausgegangen bin, dass es sich bei Deinen Programmen um Fenster-Anwendungen handelt (mit WndProc und Message-Switch), solltest Du Dich vllt. erstmal in die Grundlagen der Programmiersprache C/C++ einarbeiten. Bei solchen 'Fehlern' sind die nämlich konsequent nicht vorhanden 😉 .

    Edit: Vertipper



  • ah ich wusste was falsch war jetzt gehts
    vielen dank



  • Rex schrieb:

    ah ich wusste was falsch war jetzt gehts
    vielen dank

    Ist klar 😃



  • Rex schrieb:

    ah ich wusste was falsch war jetzt gehts
    vielen dank

    Na dann suum cuique 😃 .


Anmelden zum Antworten