Steuerbefehl für DynDNS bzw in der Schnellstartleiste DYN DNS Öffnen



  • Hallo habe ein Problem benutze Borland C++ Builder 5 unter Windows XP SP3.

    Zu meinem Problem wie kann ich wenn ich DynDNS Öffne Start Updater in der Anwendung aktivieren??Möchte das über C## machen mit Buttons.

    Das andre Problem ich Starte die DynDNS exe über ein Button das Funktioniert.leider öffnet sich der Updater nicht sondern das Icon verschwindet in der Schnellstartleiste.Wie bekomme ich es hin von der schnellstartleiste den Updater zu Maximiren??

    Habe mit ShellExecute() alle möglichen Öffnungs Varianten ausprobiert ohne Erfolg.

    Danke



  • C++ meinte ich sorry



  • Jetzt hab ich noch ein weiteres Problem wie schließe ich Programme die in der Startleiste angezeigt werden?

    Habe es mit FindWindow und Send Message ausprobiert ohne Erfolg.



  • Hallo

    1. falsches Forum - BCB
    2. ohne Erfolg - Fehler oder was

    Mfg
    Klaus



  • Naja es Funktioniert nicht die Icons in der Startleiste bleiben weiterhin.

    Hab über zwei Funktionen gelesen EnumWindows() und EnumWindowsProc() leider komme ich mit den beiden nicht klar weiß nicht womit ich anfangen soll dabei und womit ich abschließen soll.

    Fakt ist das die beiden Funktionen dafür gedacht sind die suchen nicht nur fenster sondern alle Anwendungen mit dem gesuchten Namen habe ich herausbekommen.

    Suche jemand der mir anhand von Beispielen weiterhilft.

    ich arbeite mit Buttons.bei einem Klick soll die richtige EXE geschlossen werden halt im Schnellstart Menu gehts nicht.

    Shit hab jetzt gemerkt das wir in der Schule nur Kinderkram gemacht haben.

    oh man



  • //---------------------------------------------------------------------------

    #include <vcl.h>
    #include <Psapi.h>
    #pragma hdrstop
    #include <windows.h>
    #include "UEXETest.h"
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    #pragma comment(lib, "User32.lib")

    //---------------------------------------------------------------------------
    TForm1 *Form1;

    HANDLE HWND_VNC_VIEWER;

    BOOL CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam);

    //---------------------------------------------------------------------------

    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    {
    }

    //---------------------------------------------------------------------------

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
    ShellExecute(NULL,"open","c:\\Programme\\RealVNC\\VNC4\\VNCViewer",NULL,NULL,SW_SHOWNORMAL);
    }

    //---------------------------------------------------------------------------

    void __fastcall TForm1::Button2Click(TObject *Sender)
    {

    HWND_VNC_VIEWER=FindWindow(NULL,"VNC Viewer");

    BOOL CALLBACK EnumWindowsProc(HWND_VNC_VIEWER,NULL);

    BOOL EnumWindows(EnumWindowsProc,NULL);

    SendMessage(EnumWindows, WM_CLOSE,NULL,NULL);

    }

    Hallo leute habe das bis jetzt herausgefunden blos kann sich einer für mich zeit nehmen und mir schritt für schritt weiterhelfen??

    Das was ich jetzt Compiliert habe schickt nur fehlermeldungen raus.

    Wenn ich diese Kürzel und sonstiges bei msdn lese dann bekomme ich kopfschmerzen.Helft mir bitte mit mit Niveau für einen Anfänger im Bereich WinAPI.

    Das oben ist nur eine Test Exe die geöffnet und geschlossen werden soll nur mein Problem ist ich möchte auch die laufenden Programme die unten im Schnellstartmenu sind deaktivieren.Bitte helft mir 🙂



  • //---------------------------------------------------------------------------

    #include <vcl.h>
    #pragma hdrstop

    #include "UWinAPI.h"
    #include <windows.h>
    #include <Psapi.h>
    #pragma comment(lib, "User32.lib")
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    BOOL CALLBACK ShowAllWindows(HWND hwnd,LPARAM lParam);

    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    {

    //---------------------------------------------------------------------------
    // Callback-Funktion schreibt Titelleisten-Texte aller gefundenen Non-Child-
    // Fenster in die ListBox:
    //---------------------------------------------------------------------------
    BOOL CALLBACK ShowAllWindows(HWND hwnd,LPARAM lParam)
    {
    char pcWinTitle[256]; // Für Fenster-Titel...

    // Falls kein Child-Fenster:
    if(!GetWindow(hwnd, GW_OWNER))
    {
    // Fenster-Title (Caption) auslesen:
    GetWindowText(hwnd, pcWinTitle, 255);

    // Falls Titel vorhanden in die Listbox einfügen:
    if(AnsiString(pcWinTitle).Trim() != EmptyStr)
    Form1 -> ListBox1 -> Items -> Add(pcWinTitle);
    }
    // true zurückgeben, um Aufzählung fortzusetzten:
    return TRUE;
    }

    //---------------------------------------------------------------------------
    // Beenden aller Rechner-Instanzen:
    //---------------------------------------------------------------------------
    BOOL CALLBACK KillAllCalcInstances(HWND hwnd,LPARAM lParam)
    {
    char pcWinTitle[256]; // Für Fenster-Titel...
    DWORD pid = 0; // Für die Process-Id
    HANDLE hProcess; // Process-Handle

    // Falls kein Child-Fenster:
    if(!GetWindow(hwnd, GW_OWNER))
    {
    // Fenster-Title (Caption) auslesen:
    GetWindowText(hwnd, pcWinTitle, 255);

    // Falls Win-Rechner, Fenster schliessen:
    if(AnsiString(pcWinTitle) == "Rechner")
    {
    //-------------------------------------
    // und hier entweder höflich nachfragen,
    // was das Programm vom Beenden hält:
    PostMessage(hwnd, WM_CLOSE, 0,0);
    //-------------------------------------
    // oder einfach Process beenden:

    // Process-Id besorgen:
    // GetWindowThreadProcessId(hwnd, &pid);
    // Process mit allen Zugriffsrechten öffnen:
    // hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
    // und tschüss...
    // TerminateProcess(hProcess, 0);
    }
    // true zurückgeben, um Aufzählung fortzusetzten:
    return TRUE;
    }

    }

    Hallo leute habe mir diesen Code abgeschrieben und ein Projekt erstellt wie es vorgegeben ist habs auf http://www.source-community.de gefunden leider Stoppt mein Compiler bei BOOL CALLBACK ShowAllWindows(HWND hwnd,LPARAM lParam) mit den fehlermeldungen unten:

    [C++ Fehler] UWinAPI.cpp(25): E2108 Ungültige Verwendung von typedef 'BOOL'
    [C++ Fehler] UWinAPI.cpp(25): E2379 In Anweisung fehlt ;
    [C++ Fehler] UWinAPI.cpp(110): E2134 Abschließendes } fehlt

    was mach ich den jetzt dort falsch ist doch alles Richtig???

    meine güte kann doch nicht so schwer sein???



  • Hallo,

    der Compiler denkt sich (fett markiert unten, nur die entscheidenden Stellen für das Problem):

    [cpp]__fastcall TForm1::TForm1(TComponent* Owner)
    : TForm(Owner)
    { // öffnende Klammer, Blockbeginn, Funktionskörperbeginn, ok, akzeptiert

    //---------------------------------------------------------------------------
    // Callback-Funktion schreibt Titelleisten-Texte aller gefundenen Non-Child-
    // Fenster in die ListBox:
    //---------------------------------------------------------------------------

    // hoppla, was ist das, Funktionsdefinition in einem Block/Funktionskörper? Das ist nicht erlaubt, sah zunächst nach einer Anweisung aus, bei der der Typ BOOL benutzt werden soll (also sag ich meinem Bediener das mal mit "E2108 Ungültige Verwendung von typedef 'BOOL' "), ich finde auch kein Semikolon, dass eine Anweisung abschliessen würde (also sag ich meinem Bediener zusätzlich "In Anweisung fehlt ;", vielleicht kommt er jetzt darauf, was falsch ist, oben habe ich schon vermutet, was hier falsch ist, aber passendere Fehlermeldungen habe ich nicht, dass muss meinem Bediener reichen)
    BOOL CALLBACK ShowAllWindows(HWND hwnd,LPARAM lParam)
    {

    **// und bei dem ganzen Kram fehlt auch noch eine schliessende Klammer, dafür habe ich doch eine Meldung, ah ja, "E2134 Abschließendes } fehlt "

    // jetzt habe ich keine Lust mehr, das muss erst mal korrigiert werden, ich höre auf, den Quelltext genauer anzusehen**
    [/cpp]

    MfG,

    Probe-Nutzer



  • Hi habe jetzt alle Probleme gelöst naja quasi es kommen keine Fehlermeldungen mehr und es wird sauber Compiliert auch ohne Warnungen 🙂

    Ich habe jetzt nur ein Grundlegendes Problem das habe ich in einem andren Thgema
    angesprochen das Thema nennt sich bei FAQ WinAPI : GetWindowText()

    Dort habe ich das Problem wie schließe ich Programme die unten rechts in der Leiste angezeigt werden.


Anmelden zum Antworten