Nubi Probleme



  • hallo erstmal an alle ,

    ich programmiere seit geraumer Zeit java und wuerde gerne auch C++ programmieren aber ich habe da ein kleines Problem hier ist mein Quelltext:

    #include "stdafx.h"
    #include "windows.h"

    int main(int argc, char* argv[])
    {

    int ret = (int) ShellExecute(0, "open","regedit.exe", FileParam, 0, SW_SHOWNORMAL);

    return 0;
    }

    Und diese Fehler erscheinen ...

    Compiling...
    hallo.cpp
    D:\Programme\Microsoft Visual Studio\MyProjects\hallo\hallo.cpp(11) : error C2065: 'ShellExecute' : undeclared identifier
    D:\Programme\Microsoft Visual Studio\MyProjects\hallo\hallo.cpp(11) : error C2065: 'FileParam' : undeclared identifier
    Error executing cl.exe.

    hallo.exe - 2 error(s), 0 warning(s)

    Ich verstehe nicht was mit Undeclared identifier gemeint ist .. bei java is das so wie ich das hingeschrieben habe. Ich hoffe einer von euch kann mir helfen thx



  • ehm mir ist da was aufgefallen .. jetzt hab ich das programm etwas verändert ...

    #include "stdafx.h"
    #include "windows.h"

    int main(int argc, char* argv[])
    {

    ShellExecute(0, "open","regedit.exe", 0, 0, SW_SHOWNORMAL);

    return 0;
    }

    Fehler :

    Compiling...
    hallo.cpp
    D:\Programme\Microsoft Visual Studio\MyProjects\hallo\hallo.cpp(11) : error C2065: 'ShellExecute' : undeclared identifier
    Error executing cl.exe.

    hallo.exe - 1 error(s), 0 warning(s)

    des mit undeclared identifier verstehe ich imma noch net



  • lass mal fileparam weg und schreib einfach anstatt fileparam NULL hin.



  • hab ich ja is mir etwas später aufgefallen ^^^aber der fehler kommt imma noch

    #include "stdafx.h"
    #include "windows.h"

    int main(int argc, char* argv[])
    {

    ShellExecute(0, "open","regedit.exe", 0, 0, SW_SHOWNORMAL);

    return 0;
    }

    Fehler :

    Compiling...
    hallo.cpp
    D:\Programme\Microsoft Visual Studio\MyProjects\hallo\hallo.cpp(11) : error C2065: 'ShellExecute' : undeclared identifier
    Error executing cl.exe.

    hallo.exe - 1 error(s), 0 warning(s)



  • scheiss auf shellexecute nimm:

    UINT WinExec(
    LPCSTR lpCmdLine, // address of command line
    UINT uCmdShow // window style for new application
    );



  • Lasst mich nicht lügen, aber wird die stdafx.h nicht bei jedem Prog einzeln miterstellt? In ihr stehen doch dann die vom Ass. "per Hand" hinzugefügten Includes. Inculde also lieber selbst die MFC-Header-Dateien.

    Happosai



  • mein programm schaut jetztz so aus ...

    #include "stdafx.h"
    #include "windows.h"

    int main(int argc, char* argv[])
    {

    UINT WinExec("regedit.exe",SW_SHOWNORMAL);

    return 0;
    }

    fehler ist nun :

    Compiling...
    meine.cpp
    D:\Programme\Microsoft Visual Studio\MyProjects\meine\meine.cpp(13) : error C2078: too many initializers
    Error executing cl.exe.

    meine.exe - 1 error(s), 0 warning(s)

    ich finde dazu nichts iminternet was mir weiterhilft ...



  • und jezt loesch noch #include "stdafx.h"



  • am besten wärds, wenn du #inlcude <windows.h> schrieben würdest, anstatt #include "windows.h"... nur so als Anmerkung



  • Und nimm wieder Shellexecute. WinExec ist von Microsoft als obsolete gekennzeichent und wird in zukünftigen Windows-Versionen nicht mehr unterstützt.

    So und die Fehlermeldung:
    **
    D:\Programme\Microsoft Visual Studio\MyProjects\hallo\hallo.cpp(11) : error C2065: 'ShellExecute' : undeclared identifier
    **
    Sagt wohl klipp und klar, dass er Shellexecute nicht kennt. So jetzt kommt die große 500.000 Euro Frage: Warum nicht? Weil eine Header-Datei fehlt, wo die Funktion deklariert ist und logischerweise die zugehörige Lib-Datei.
    OK, kommen wir nun zur 1.000.000 Euro Frage: Wie löst man das Problem? Man kuckt im MSDN oder PSDK nach, welche Header-Datei und welche Lib-Datei man braucht.
    Link: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/shellexecute.asp
    Und oh wunder da finden wir die genaue Deklaration und wenn wir etwas nach unten scrollen finden wir das:
    [code]
    Header shellapi.h
    Import library shell32.lib
    Minimum operating systems Windows NT 3.1, Windows 95 [/code]
    Wir inkludieren also die shellapi.h und linken die shell32.lib mit. Und oh wunder, wenn wir alle srichtig gemacht haben funktioniert alles.

    So und jetz versuch mal diese Fehlermeldung:
    D:\Programme\Microsoft Visual Studio\MyProjects\hallo\hallo.cpp(11) : error C2065: 'FileParam' : undeclared identifier von alleine zu interpretieren. 😃

    [ Dieser Beitrag wurde am 01.02.2003 um 07:29 Uhr von Luckie editiert. ]



  • @Luckie: Bist Du Lehrer oder so etwas ... ? 😃



  • Nein, aber wer das nicht hinbekommt, lösen kann, braucht wohl so eine detailierte Anleitung.


Anmelden zum Antworten