Ergebnis 1 bis 5 von 5
  1. #1
    Stanley Jobson
    Registriert seit
    08.08.2007
    Beiträge
    740

    Standard [C#] int to uint convertieren

    Hallo erstmal,

    vllt passt mein Titel nicht perfekt .. aber es zeigt vllt die problem lage an.

    Ich versuche meine DLL mit setWindowhookex zu aktivieren .. bekomme meine Daten einfach nicht rübergeschickt. Da ich meinen Integer nicht zu einem Unsigned integer Convertieren kann.

    hier mal der Code

    Code:
     class Loadlibrary
        {
            
            [DllImport("kernel32")]
            public extern static int LoadLibrary(string librayName);
    
            [DllImport("kernel32", CharSet = CharSet.Ansi)]
            public extern static int GetProcAddress(int hwnd, string procedureName);
    
            [DllImport("user32.dll",CharSet=CharSet.Auto,
            CallingConvention=CallingConvention.StdCall)]
            public static extern int SetWindowsHookEx(int idHook, HookProc lpfn, 
            IntPtr hInstance, int threadId);
    
    
            public delegate int HookProc(int nCode, IntPtr wParam, IntPtr lParam);
    
            public const int WH_DEBUG = 9;
          
    
    
            int load(string path)
            {
                const int hwnd = LoadLibrary(path);
                int addr = GetProcAddress(hwnd, "DebugHookProc");
                SetWindowsHookEx(WH_DEBUG,addr, hwnd, 0);
                return addr;
            }
        }
    Die grün unteschrtichenen werden als Fehler angegeben.

    Fehlermeldung: Cannot convert 'int' to 'uint'. An explicit Conversion exists!

    thx im vorraus

  2. #2
    Anfänger
    Registriert seit
    17.06.2009
    Beiträge
    12

    Standard

    Ich bin nicht mehr ganz im Thema, aber gab es nicht einen unsigned int in C#?

    google hilft -> http://msdn.microsoft.com/de-de/libr...8VS.80%29.aspx
    Geändert von Mo. (10.02.2010 um 15:19 Uhr) Grund: Automerged Doublepost

  3. #3
    Der `Toastflüsterer` Avatar von AlterHacker
    Registriert seit
    27.09.2008
    Beiträge
    690

    Standard

    const int hwnd = LoadLibrary(path);
    Try das mal:

    HLIBRARY lib = LoadLibraray(path);
    int addr = reinterpret_cast<int>(GetProcAddress(lib, "DebugHookProc"));

    Kenn mich mit "C#" nicht besonders aus, aber so in etwa progge ich's immer in C++^^

    Security is an illusion.
    Cheater : 8=o
    Normaluser : 8=======o
    Ich : 8================o

    BM: (4|2|0)

  4. #4
    Sobig Wurm
    Registriert seit
    06.08.2008
    Beiträge
    221

    Standard

    warum versuchst du nicht einfach

    uint unsigned = Convert.ToUInt32(intValue);


  5. #5
    Stanley Jobson
    Registriert seit
    08.08.2007
    Beiträge
    740

    Standard

    jo soweit hab ich das nun .. nun gibt mir aber die API ein Handle zurück .. (also imprinzip ein zahlwert. Was ich aber wieder in SetWindowsHookEx(WH_DEBUG,addr, hwnd, 0); was ich aber in einen System.Pointer umwandeln muss .. noch einer ne idee?

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •