Zhen
Lt. Junior Grade
- Registriert
- Aug. 2009
- Beiträge
- 299
Hallo Leute,
bräuchte mal wieder etwas hilfe, da ich nicht weiter weis.
Ich benutzer in meinem Programm die WinApi Funktion CreateMutex um z.B. bei einer Deinstallation des Programms festzustellen ob die Anwendung gerade ausgeführt wird.
Falls ja, dann soll sie erst geschlossen werden, bevor man mit der Deinstallation fortfahren kann.
Nun... es funktioniert auch alles soweit, bin eigentlich ganz zufrieden, aber jetzt hab ich die exe mal durch "Microsofts FxCop" durchjagen lassen und siehe da... mir wird folgender Hinweis ausgespuckt:
"P/Invoke declarations should be portable"
Mein DllImport im Programm sieht folgendermaßen aus:
Jetzt begreife ich jedoch echt nicht was ich da noch tun soll? Ich hatte mal bei nem anderen Import diese Meldung, aber dort hat es geholfen, dass ich die "int" Paramter durch "IntPtr" ersetzt habe! Hier jedoch hab ich schon alles probiert und es funktioniert immernoch nicht. Die Meldung erscheint mir trotzdem immer und immer wieder.
Hoffe ihr könnt mir da mal weiterhelfen.
Danke schon mal im Vorraus!
bräuchte mal wieder etwas hilfe, da ich nicht weiter weis.
Ich benutzer in meinem Programm die WinApi Funktion CreateMutex um z.B. bei einer Deinstallation des Programms festzustellen ob die Anwendung gerade ausgeführt wird.
Falls ja, dann soll sie erst geschlossen werden, bevor man mit der Deinstallation fortfahren kann.
Nun... es funktioniert auch alles soweit, bin eigentlich ganz zufrieden, aber jetzt hab ich die exe mal durch "Microsofts FxCop" durchjagen lassen und siehe da... mir wird folgender Hinweis ausgespuckt:
"P/Invoke declarations should be portable"
Mein DllImport im Programm sieht folgendermaßen aus:
Code:
[DllImport("kernel32.dll", CharSet=CharSet.Unicode)]
[return: MarshalAs(UnmanagedType.Bool)]
internal static extern IntPtr CreateMutex(IntPtr lpMutexAttributes, bool bInitialOwner, StringBuilder lpName);
Jetzt begreife ich jedoch echt nicht was ich da noch tun soll? Ich hatte mal bei nem anderen Import diese Meldung, aber dort hat es geholfen, dass ich die "int" Paramter durch "IntPtr" ersetzt habe! Hier jedoch hab ich schon alles probiert und es funktioniert immernoch nicht. Die Meldung erscheint mir trotzdem immer und immer wieder.
Hoffe ihr könnt mir da mal weiterhelfen.
Danke schon mal im Vorraus!