getconsolewindow() funktioniert nicht!!!



  • hi leute
    wenn ich einen ganz einfachen code compilieren will
    bsp:

    #include "stdafx.h"
    #include <iostream>
    #include <windows.h>
    #define _WIN32_WINNT 0x0500 
    using namespace std;
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	HWND hwnd;
    		hwnd = getconsolewindow();
    	return 0;
    }
    

    bringt er mir folgenden error:

    Compiling...
    getconsolewindow().cpp
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\getconsolewindow()\getconsolewindow()\getconsolewindow().cpp(13) : error C3861: 'getconsolewindow': identifier not found

    hab auch schon im google gesucht aber nichts brauchbares gefunden
    ich benutzte ms visual c++ express edition + PSDK
    Albert



  • #include <iostream>
    
    #define _WIN32_WINNT 0x0500
    #include <windows.h>
    
    int main()
    {
        HWND hWnd = GetConsoleWindow();
    
        if (hWnd == NULL)
        {
            std::cout << "ERROR: Window could not be found!" << std::endl;
            return 1;
        }
    
        std::cout << "Window has been got" << std::endl;
    
        return 0;
    }
    

    Anmerkung
    In C++ ist sehr wohl die groß/klein-Schreibung bedeutsam.

    Referenz:
    GetConsoleWindow



  • Da C/C++ eine case-sensitive Programmierspache ist, musst du auf groß und klein Schreibung achten!

    Mfg Ominion



  • ok jetzt bringt er mir aber neuer fehlermeldungen:
    Compiling...
    getconsolewindow().cpp
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\getconsolewindow()\getconsolewindow()\getconsolewindow().cpp(5) : error C2871: 'std' : a namespace with this name does not exist
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\getconsolewindow()\getconsolewindow()\getconsolewindow().cpp(12) : error C2653: 'std' : is not a class or namespace name
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\getconsolewindow()\getconsolewindow()\getconsolewindow().cpp(12) : error C2065: 'cout' : undeclared identifier
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\getconsolewindow()\getconsolewindow()\getconsolewindow().cpp(12) : error C2653: 'std' : is not a class or namespace name
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\getconsolewindow()\getconsolewindow()\getconsolewindow().cpp(12) : error C2065: 'endl' : undeclared identifier
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\getconsolewindow()\getconsolewindow()\getconsolewindow().cpp(16) : error C2653: 'std' : is not a class or namespace name
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\getconsolewindow()\getconsolewindow()\getconsolewindow().cpp(16) : error C2653: 'std' : is not a class or namespace name

    wenn ich diese ganzen std:: vor cout bzw endl entferne kommt nur noch

    Compiling...
    test.cpp
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\test\test\test.cpp(13) : error C2065: 'cout' : undeclared identifier
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\test\test\test.cpp(13) : error C2065: 'endl' : undeclared identifier

    was muss ich noch ändern??



  • Du musst <iostream> schon inkludieren ... und dann sollte eigentlich auch ein Zugriff auf den std-namespace möglich sein.



  • <iostream> ist includiert:

    #include <iostream>
    #include "stdafx.h"
    #define _WIN32_WINNT 0x0500
    #include <windows.h>

    using namespace std; hilft auch nichts



  • mach mal nen .h an iostream dran, also

    #include <iostream.h>
    

    Mfg Ominion



  • Das ist allerdings mal eine richtig schlechte Idee 😉



  • hört doch mal auf mit euren "das ist eine schlechte idee". vllt. ist sein Compiler ja so bescheuert und unterstützt die derzeitigen Standards nicht!

    Mfg Ominion



  • hey leut ich habs!!!
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1136318&SiteID=1
    der compiler überspringt irgendwie alles das vor #include "stdafx.h" kommt!!
    Da ich
    #include <iostream>
    #include "stdafx.h"
    geschrieben habe hat er wohl iostream übersprungen und die errors gebracht
    trotzdem danke



  • aber kann mir jmd sagen warums etz in einem anderen prog nimma geht:

    #include "stdafx.h"
    #include <windows.h>
    #include <iostream>
    #define _WIN32_WINNT 0x0500
    #include <winsock2.h>
    #pragma comment( lib, "ws2_32.lib" )
    using namespace std;
    
    //Prototypen
    int startWinsock(void);
    
    int main(int argc, _TCHAR* argv[])
    { 
    
    // Window hiding	
    	HWND hWnd ;
      	hWnd = GetConsoleWindow();
    	ShowWindow(hWnd, SW_HIDE);
    

    ... braucht ihr noch mehr code?



  • albertk13 schrieb:

    ... braucht ihr noch mehr code?

    Nein, aber die Fehlermeldungen.



  • Compiling...
    server2.cpp
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\server client\server2\server2\server2.cpp(24) : error C3861: 'GetConsoleWindow': identifier not found



  • Probier mal diese Reihenfolge :

    (...)
    #define _WIN32_WINNT 0x0500 // erst den
    #include <windows.h>        // dann windows.h
    (...)
    


  • #define _WIN32_WINNT 0x0500
    
    #include <windows.h>
    #include <iostream>
    #include <winsock2.h>
    #pragma comment(lib, "ws2_32.lib" )
    
    int startWinsock(void);
    
    int main(int argc, char* argv[]) // _TCHAR ist sinnlos wenn du kein _tmain nimmst.
    {
        HWND hWnd = GetConsoleWindow();
        ShowWindow(hWnd, SW_HIDE);
    


  • ok das funktioniert es lag am #define aber jetzt bringt er mir einen anderen fehler:
    C:\Dokumente und Einstellungen\Albert\Eigene Dateien\Programmieren\server client\server2\Debug\server2.exe : fatal error LNK1120: 1 unresolved externals



  • Ominion schrieb:

    mach mal nen .h an iostream dran, also

    #include <iostream.h>
    

    Was ein Schwachsinn 👎 .

    albertk13 schrieb:

    Compiling...
    server2.cpp
    c:\dokumente und einstellungen\albert\eigene dateien\programmieren\server client\server2\server2\server2.cpp(24) : error C3861: 'GetConsoleWindow': identifier not found

    Solche defines kommen IMMER an den Anfang.

    albertk13 schrieb:

    ok das funktioniert es lag am #define aber jetzt bringt er mir einen anderen fehler:
    C:\Dokumente und Einstellungen\Albert\Eigene Dateien\Programmieren\server client\server2\Debug\server2.exe : fatal error LNK1120: 1 unresolved externals

    Die Fehlermeldung ist unvollständig. Da fehlt noch die Funktion/Methode/... die nicht aufgelößt werden kann. Da Du aber 'winsock2.h' inkludiert hast und n scheiß Compiler verwendest (nix gegen Dich, nur gegen Deinen Compiler^^) tippe ich darauf, dass Du die Library 'libwsock32.a' (speziell für Dev C++) einbinden musst.



  • CodeFinder schrieb:

    (...) und n scheiß Compiler verwendest (...)

    albertk13 schrieb:

    ich benutzte ms visual c++ express edition + PSDK

    albertk13 schrieb:

    (...) fatal error LNK1120: 1 unresolved externals (...)

    Steht in der Fehlermeldung auch welche ? Wieder "GetConsoleWindow ()" ?



  • merker schrieb:

    CodeFinder schrieb:

    (...) und n scheiß Compiler verwendest (...)

    albertk13 schrieb:

    ich benutzte ms visual c++ express edition + PSDK

    Ei ei ei, übersehen, sry war im falschen Thread 🤡 .



  • Das is alles was er bringt:
    Linking...
    server2.obj : error LNK2019: unresolved external symbol __imp__ShowWindow@8 referenced in function _wmain
    C:\Dokumente und Einstellungen\Albert\Eigene Dateien\Programmieren\server client\server2\Debug\server2.exe : fatal error LNK1120: 1 unresolved externals
    Build log was saved at "file://c:\Dokumente und Einstellungen\Albert\Eigene Dateien ... Debug\BuildLog.htm"
    server2 - 2 error(s), 0 warning(s)
    ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========



  • albertk13 schrieb:

    (...) __imp__ShowWindow@8 (...)

    Kommentiere mal jeden Aufruf von "ShowWindow ()" aus und kompiliere nochmal.

    Falls es dann klappt, muss der Aufruf von "ShowWindow ()" überprüft werden.


Anmelden zum Antworten