Tag: pinvoke

P/Invoke ist eine Implementierung der Spezifikation, die von Microsoft erstellt die Common Language Infrastructure (CLI) für den Aufruf von nativen code-Bibliotheken, die von verwaltetem code.

C# nicht fangen, nicht behandelte Ausnahmen von unmanaged C++ - dll

Anzahl der Antworten 1 Antworten
Ich habe eine unmanaged C++ dll die aufgerufen wird, aus einer C# - app, bemühe ich mich, die C# - app, um alle Ausnahmen abfangen, so dass im Falle der dll-Fehler aufgrund einer nicht verwalteten Ausnahme dann

Hinzufügen von offset zu IntPtr

Anzahl der Antworten 6 Antworten
Ich bin auf der Suche nach einer Möglichkeit zur Durchführung von Zeiger-Operationen in C# - oder .NET im besonderen. Ich möchte etwas sehr einfaches machen Dass ein Zeiger IntPtr ich will IntPtr Objekt Punkte, die zu 2

Wie gebe ich ein const char* an eine C-Funktion aus C#?

Anzahl der Antworten 2 Antworten
Ich versuche zu nennen, eine einfache C-Funktion aus einer externen DLL aus meiner C#-Anwendung. Diese Funktion ist definiert als void set_param(const char *data) Nun habe ich einige Probleme mit dieser Funktion: Wie kann ich festlegen, das "const"

Keine Ausgabe in der Konsole, wenn mit AllocConsole und die Ziel-Architektur x86

Anzahl der Antworten 4 Antworten
Ich habe ein WinForms-Projekt, und wenn der Benutzer möchte eine debug-Konsole, die ich zuweisen eine Konsole mit AllocConsole(). Alle die Ausgabe in der Konsole funktioniert normalerweise mit der Ziel-Architektur auf "Any CPU", aber wenn ich es ändern

Wie behandelt man Dateien mit einem Namen, der länger als 259 Zeichen ist?

Anzahl der Antworten 2 Antworten
Arbeite ich an einer Anwendung, die Spaziergänge durch jede Datei in einige Verzeichnisse und ein paar Aktionen mit diesen Dateien. Unter anderem muss ich die Datei abzurufen, die Größe und das Datum Wann diese Datei geändert wurde.

Soll DWORD auf int oder uint abgebildet werden?

Anzahl der Antworten 6 Antworten
Beim übersetzen des Windows-API (inklusive Datentypen) in P/Invoke, sollte ich ersetzen DWORD-Wert mit int oder uint? Ist es in der Regel nicht, aber ich sehe Menschen, die mit int überall statt (ist es nur, weil der CLS

C # PInstallieren von user32.dll auf einem 64-Bit-System

Anzahl der Antworten 2 Antworten
Ist es falsch zu pinvoke user32.dll auf 64-bit-Windows eine 64-bit-app? Ich habe dies getan, erfolgreich eine Anzahl von Zeiten, und hatte nie einen Fehler, aber es scheint widersprüchlich. Ich suchen soll user64.dll statt? InformationsquelleAutor der Frage James

Übergabe von Zeichenfolgen von C # nach C ++ DLL und zurück - minimales Beispiel

Anzahl der Antworten 1 Antworten
Ich versuche, die absolute einfachste minimal-Beispiel, wie übergeben Sie Zeichenfolgen zu und von einer C++ - DLL in C#. Mein C++ sieht wie folgt aus: using std::string; extern "C" { string concat(string a, string b){ return a

Die beste Methode zum Zugriff auf COM-Objekte von C #

Anzahl der Antworten 3 Antworten
Ich Plane, verwenden Sie verschiedene Objekte, die ausgesetzt sind als COM-Objekte. Um Sie einfacher zu bilden zu verwenden, die ich möchte, wickeln Sie Sie als C# - Objekte. Was ist der beste Ansatz für diese? InformationsquelleAutor der

Globaler Hotkey in der Konsolenanwendung

Anzahl der Antworten 4 Antworten
Weiß jemand, wie die RegisterHotKey/UnregisterHotKey-API-Aufrufe in einer Konsolenanwendung? Ich gehe davon aus, dass die Aufstellung/entfernen Sie die hotkey-Taste ist die gleiche, aber wie bekomme ich den Anruf zurück, wenn die Taste gedrückt wurde? Jedes Beispiel, das ich

Abrufen des Windows System Error Code-Titels / der Beschreibung von seiner Hex-Nummer

Anzahl der Antworten 4 Antworten
Ich bin Herumspielen mit irgendeinem windows-Funktionen, die mithilfe von p/invoke. Gelegentlich bekomme ich einen Fehler-code, der nicht ERROR_SUCCESS (so ein seltsamer name). Gibt es eine Möglichkeit zu suchen, diese bis in das Programm? Forexample, wenn ich erhalten

Gibt es ein Tool, das P / Invoke-Signaturen für beliebige nicht verwaltete DLLs generiert?

Anzahl der Antworten 5 Antworten
Stolperte ich über ein tool erzeugt, dass P/Invoke-Signaturen für die Microsoft-unmanaged DLLs: PInvoke Interop Assistant Gibt es ein ähnliches tool, das generieren von P/Invoke-Signaturen für Dritte verwalteten DLLs? Abwechselnd, jede mögliche Weise zu füttern, die eine Drittanbieter-DLL

Bringe in WPF ein Fenster nach vorne

Anzahl der Antworten 18 Antworten
Wie kann ich meine WPF-Anwendung, die vor dem desktop? Bisher habe ich versucht: SwitchToThisWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle, true); SetWindowPos(new WindowInteropHelper(Application.Current.MainWindow).Handle, IntPtr.Zero, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE); SetForegroundWindow(new WindowInteropHelper(Application.Current.MainWindow).Handle); Keiner von denen sind, die Arbeit zu machen (Marshal.GetLastWin32Error()

Ein Aufruf der PInvoke-Funktion '[...]' hat den Stack unausgeglichen

Anzahl der Antworten 5 Antworten
Ich bin immer dieser komische Fehler auf einigen Sachen, die ich benutzt habe für eine Weile. Es kann eine neue Sache, die in Visual Studio 2010, aber ich bin mir nicht sicher. Ich bin versucht zu rufen

"Es wurde versucht, ein Programm mit einem falschen Format zu laden", auch wenn die Plattformen identisch sind

Anzahl der Antworten 15 Antworten
Bin ich den Aufruf von Funktionen von einem 32-bit-unmanaged-DLL unter einer 64-bit-system. Was ich bekomme ist: BadImageFormatException: es wurde versucht ein Programm mit einem falschen format. (Ausnahme von HRESULT: 0x8007000B) Anfangs hatte ich meine Projekte, die Alle

DLL konnte nicht geladen werden (Modul konnte nicht gefunden werden HRESULT: 0x8007007E)

Anzahl der Antworten 14 Antworten
Ich habe die dll-Bibliothek mit nicht verwalteten C++ - API-code, den ich verwenden müssen, meine .NET 4.0-Anwendung. Aber jede Methode, die ich versuche zu laden meine dll bekomme ich eine Fehlermeldung: Unable to load DLL 'MyOwn.dll': Das

PInvokeStackImbalance C # -Aufruf an nicht verwaltete C ++ - Funktion

Anzahl der Antworten 5 Antworten
Nach der Umstellung auf VS2010, managed debug-Assistent angezeigt wird ein Fehler über eine unausgewogene stack aus einen Anruf an eine nicht verwaltete C++ - Funktion aus einer C# - Anwendung. Usuals suspects offenbar nicht die Ursache des

Wie finde ich heraus, dass Mutex in C # erworben wurde?

Anzahl der Antworten 7 Antworten
Wie finde ich von mutex-handle in C#, dass ein mutex wird erworben? Wenn mutex.WaitOne(timeout) timeouts, es gibt false. Jedoch, wie kann ich feststellen, dass von den mutex-handle? (Vielleicht mithilfe von p/invoke.) UPDATE: public class InterProcessLock : IDisposable

Richtiger Weg (in .NET), um den Fokus auf eine andere Anwendung zu setzen

Anzahl der Antworten 7 Antworten
Dies ist, was ich habe, so weit: Dim bProcess = Process.GetProcessesByName("By").FirstOrDefault If bProcess IsNot Nothing Then SwitchToThisWindow(bProcess.MainWindowHandle, True) Else Process.Start("C:\Program Files\B\B.exe") End If Es hat zwei Probleme. Einige Leute haben mir gesagt, dass SwitchToThisWindow ist depricated. Wenn

Wie man den Elternprozess in .NET in einer verwalteten Weise bekommt

Anzahl der Antworten 6 Antworten
Ich suchte eine Menge für die Methode zu bekommen übergeordneten Prozess .NET, fand aber nur ein P/Invoke Weg. InformationsquelleAutor der Frage abatishchev | 2008-12-27

Einfachste Möglichkeit, P / Invoke Code zu generieren?

Anzahl der Antworten 2 Antworten
Ich bin ein erfahrener .Net-Programmierer sind, aber nicht kompiliert ein C/C++ - Programm in meinem Leben. Jetzt habe ich das C-dll, Kopf-und Dokumentation (3rd party, nicht von der Win-API), von denen muss ich anrufen über zehn Methoden.

Screenshot auf der Server-Desktop-Sitzung

Anzahl der Antworten 6 Antworten
Entwickelt ich eine GUI-test-framework, das tut integrationtesting unserer Unternehmens-website auf basis eines Zeitplans. Wenn etwas nicht funktioniert, werde es einen screenshot von dem desktop, unter anderem. Läuft unbeaufsichtigt auf einem eingeloggten Benutzer auf einem dedizierten Windows-Server-2008. Das

Warum bekomme ich "PInvokeStackImbalance wurde erkannt" für dieses einfache Beispiel?

Anzahl der Antworten 2 Antworten
Ich bin momentan dabei, eine sehr einfache PInvoke Beispiel: extern "C" __declspec(dllexport) int Add(int a, int b) { return a + b; } [DllImport("CommonNativeLib.dll")] extern public static int Add(int a, int b); return NativeMethods.Add(a, b); Aber immer,

PInvoke für C-Funktion, die char * zurückgibt

Anzahl der Antworten 2 Antworten
Ich bin versucht, zu schreiben, etwas C# - code, der eine Methode aufruft, die aus einer nicht verwalteten DLL. Der Prototyp für die Funktion in der dll ist: extern "C" __declspec(dllexport) char *foo(void); In C#, habe ich

So geben Sie Text aus Nativem (C ++) Code zurück

Anzahl der Antworten 4 Antworten
Ich bin mit Pinvoke für die Interoperabilität zwischen Native(C++ -) code und Managed(C#) code. Was ich erreichen will ist get some text von native code in mein managed code. Für diese versuche ich viele viele Dinge,e.g Weitergabe

Wie kann ich einen Zeiger auf ein Array mit p / incoke in C # übergeben?

Anzahl der Antworten 3 Antworten
Beispiel C-API-Signatur: void Func(unsigned char* bytes); In C, wenn ich will, übergeben Sie einen Zeiger auf ein array, was ich tun kann: unsigned char* bytes = new unsigned char[1000]; Func(bytes); //call Wie übersetze ich die oben genannten

Win32-API-Funktion zum programmgesteuerten Aktivieren / Deaktivieren des Geräts

Anzahl der Antworten 2 Antworten
Ich Schreibe ein kleines C# - app, um ein Gerät deaktivieren zu lassen (mein laptop-touchpad) immer wenn eine andere Maus-Gerät erkannt wird, und aktivieren Sie das touchpad, wenn mal wieder eine Maus wird nicht erkannt. Ich bin

C #: Wie wird NULL an eine Funktion übergeben, die einen Ref erwartet?

Anzahl der Antworten 6 Antworten
Ich habe die folgende Funktion: public static extern uint FILES_GetMemoryMapping( [MarshalAs(UnmanagedType.LPStr)] string pPathFile, out ushort Size, [MarshalAs(UnmanagedType.LPStr)] string MapName, out ushort PacketSize, ref Mapping oMapping, out byte PagesPerSector); Möchte ich rufen wie diese: FILES_GetMemoryMapping(MapFile, out size, MapName,

Übergeben einer C # -Rückruffunktion über Interop / pinvoke

Anzahl der Antworten 2 Antworten
Ich Schreibe ein C# - Anwendung, die Interop-Dienste können Sie auf Funktionen zugreifen, die in eine native C++ DLL. Ich bin schon mit über 10 verschiedenen Funktionen arbeiten. Nun bin ich nicht sicher, wie Sie Sie zu

pinvokestackimbalance - wie kann ich das beheben oder ausschalten?

Anzahl der Antworten 5 Antworten
Ich wechselte zu von vs2010 vs2008. Genau die gleiche Lösung, außer jetzt jeden einzelnen Aufruf einer C++ - dll liefert eine 'pinvokestackimbalance' Ausnahme. Diese Ausnahme nicht entlassen werden, im Jahr 2008. Ich habe vollständigen Zugriff auf die

Warum kann ich in einem Release-Build keine char * -Zeichenfolge von C ++ nach C # zurückgeben?

Anzahl der Antworten 5 Antworten
Ich bin versucht zu rufen, die folgende triviale C-Funktion aus C#: SIMPLEDLL_API const char* ReturnString() { return "Returning a static string!"; } Mit den folgenden P/Invoke Deklaration (mit oder ohne return-Attribut, es macht keinen Unterschied): [DllImport("SimpleDll")] [return:

Cursor programmgesteuert bewegen

Anzahl der Antworten 2 Antworten
Beginnen, fand ich diesen code bei http://swigartconsulting.blogs.com/tech_blender/2005/08/how_to_move_the.html: public class Win32 { [DllImport("User32.Dll")] public static extern long SetCursorPos(int x, int y); [DllImport("User32.Dll")] public static extern bool ClientToScreen(IntPtr hWnd, ref POINT point); [StructLayout(LayoutKind.Sequential)] public struct POINT { public int

Verwenden einer 32-Bit- oder 64-Bit-DLL in C # DllImport

Anzahl der Antworten 7 Antworten
Hier ist die situation, ich bin mit einem C dll in mein dot.net -Anwendung. Es sind 2 dlls, eine ist 32bit genannt MyDll32.dll und der andere ist ein 64-bit-version genannt MyDll64.dll. Gibt es eine statische variable halten

Wie rufe ich C ++ / CLI von C # auf?

Anzahl der Antworten 4 Antworten
Habe ich eine Klasse in C++ implementiert, ist verantwortlich für die arithmetische Berechnung des Programms und einer Benutzeroberfläche mit WPF. Ich verarbeite die Eingabe mit C# aber wie kann ich meine C++ - Klasse? Ich habe gesehen,

Arbeitsbeispiel von CreateJobObject / SetInformationJobObject pinvoke in .net?

Anzahl der Antworten 4 Antworten
Ich bin kämpfen, um gemeinsam ein funktionierendes Beispiel von pinvoke ' Ing CreateJobObject und SetInformationJobObject. Durch verschiedene google-suchen (einschließlich Russisch und Chinesisch Beiträge!) Ich habe zusammen geflickt, den folgenden code. Ich denke, die definition von JOBOBJECT_BASIC_LIMIT_INFORMATION änderungen

C # -Leistung - Verwenden von unsicheren Zeigern anstelle von IntPtr und Marshal

Anzahl der Antworten 6 Antworten
Frage Ich bin Portierung einer C-Anwendung in C#. Die C-app fordert viele Funktionen von einem 3rd-party-DLL, also schrieb ich P/Invoke-Wrapper für diese Funktionen in C#. Einige dieser C-Funktionen zuordnen Daten, die ich in der C# - app,

Verwenden einer Klasse, die in einer C ++ - DLL in c # -Code definiert ist

Anzahl der Antworten 7 Antworten
Ich habe eine dll, die in c++ geschrieben ist, habe ich diese dll in mein c# - code. Nach der Suche habe ich gefunden, dass die Verwendung von P/Invoke geben würde, die mir den Zugang zu der

neues IntPtr (0) vs. IntPtr.Zero

Anzahl der Antworten 6 Antworten
Ist, gibt es einen Unterschied zwischen den beiden Aussagen: IntPtr myPtr = new IntPtr(0); IntPtr myPtr2 = IntPtr.Zero; Ich habe gesehen, viele Beispiele, die die Verwendung PInvoke, die es vorziehen, die erste syntax, wenn die myPtr argument

Marschall "char *" in C #

Anzahl der Antworten 2 Antworten
Gegeben, die folgende C-Funktion in einer DLL: char * GetDir(char* path ); Wie würden Sie P/Invoke diese Funktion in C# und dem Marschall der char * richtig. .NET scheint zu wissen, wie zu tun, LPCTSTR aber wenn