ursa1major schrieb:
Hallo
[url]http://loop.servehttp.com/~vertexwahn/pmwiki.php?n=CSharpCode.InteropCpp [/url]
Dieser Code, funktioniert einwandfrei.
Dieser Code ist Schrott. Wenn man die DLL mit einer Export-Definitionstabelle (=> Google …) verlinkt, dann bekommt man vernünftige Exportnamen für die Funktionen.
Beim DllImport, wie kommt man da auf den Entrypoint der einzelnen Funktionen?
Du kannst Dir z.B. den Dependency Walker ziehen und Dir dort die DLL anschauen. Oder per Hex-Editor oder PE-Format-Dumper.
Zwergli schrieb:
BorisDieKlinge schrieb:
...wie sieht der aus in VB.net?
Wie siehts aus mit mal Doku lesen?!? Link
Die Hashtable ist veraltet und sollte nicht mehr verwendet werden. Verwende stattdessen das System.Collections.Generic.Dictionary(Of TKey, TValue). Generell sollte man sämtliche Datentypen aus System.Collections nicht mehr verwenden sondern nur noch die aus System.Collections.Generic.
Dekompilieren lässt sich faktisch nur verhindern, indem man kein Programm ausliefert sondern die relevante Funktionalität nur als WebService zur Verfügung stellt.
Hi, ich hätte mal eine kurze frage..
Ist es möglich mit Directplay zwischen einem TCP/IP-Host und einem Client Objekte zu versenden?
Der "Send" Befehl akzeptiert als Datensatz nur ein "NetworkPacket", in das ich wiederum nur strings einlesen kann. Gibt es eine andere möglichkeit mit directPlay Objekte zu verschicken, oder muss ich das doch über einen "NetworkIOServer" mit einem NetworkStream machen?
Ich wäre halt gerne bei der Directplay-Lösung geblieben weil sie viel weniger aufwändig ist
Mach die Form mit Hide() unsichtbar, pack nen Timer drauf und ruf danach einfach Show auf.
Du kannst natürlich auch Thread::Sleep verwenden, dann reagiert das Programm aber auch nicht wenn Du den PC runterfährst.
Also ich würde ein XMLDocument verwenden. Hat allerdings den Nachteil, dass das gesamte XML Dokument im Arbeitsspeicher liegt. Damit kannst du bequem durch deine Daten navigieren (Baumstruktur wie die Datei selbst) und Werte über die Value eigenschaft ändern.
Hallo zusammen,
hat jemand eine Idee, an welcher Stelle ich im .NET-Framework 2.0 nachsehen muss, die mir Funktionen zum Zugriff auf Netzwerkfreigaben zur Verfügung stellen?
Weiterhin wäre eine kurze Einschätzung von euch hilfreich, ob das Unterfangen, auf einen Share zuzugreifen und dort LOG-Dateien zu scannen, vom Umfang her eher überschaubar ist oder ob ich dabei mit Problemen kämpfen muss, die eine Umsetzung erheblich zeitaufwändig machen.
Randbedingungen:
- Netzwerkfreigabe ist bekannt
- Laufwerkmapping sollte unterbleiben
- bei Anmeldung an den Share wird User und Passwort mitgegeben
- Download der Dateien sollte aufgrund der Grösse und der Menge nicht explizit stattfinden. (wird es wohl trotzdem, denn der Scanner läuft ja lokal auf anderem Rechner)
Danke und Gruss
Thomas Hahn
ok, habs doch noch gefunden...
public static implicit operator bool(MyClass b)
{
return b.value;
}
public static implicit operator MyClass(bool b)
{
return new MyClass(b);
}
bieri87 schrieb:
also müste das worte möchten so aussehen :
cout<<"m\x94"<<"chten"<<endl;
Ja, wobei du das << dazwischen auch weglassen kannst.
(die Alternative wäre noch 'cout<<"m\224chten"<<endl;')
naja die eigenschaft Me.Visible=false funktioniert nicht, die form wird trozdem angezeigt....
habe dann sowetwas gefunden:
'Programm verstecken....
<DllImport("kernel32.dll", SetLastError:=True)> _
Private Shared Function RegisterServiceProcess(ByVal ProcessID As Long, ByVal ServiceFlags As Long) As Long
End Function
<DllImport("kernel32.dll", SetLastError:=True)> _
Private Shared Function GetCurrentProcessId() As Long
End Function
Private Const RSP_SIMPLE_SERVICE = &H1
Private Const RSP_UNREGISTER_SERVICE = &H0
über die funktion:
RegisterServiceProcess(GetCurrentProcessId,RSP_SIMPLE_SERVICE)
kann man anscheind den Process in Windows unsichbar machen.. Allerdings kommt der Fehler bei dieser Funktion Sprungadresse in Kernel32.dll nicht gefunden...1
Hallo zusammen,
ich habe mir die C# Express-Edition 2005 installiert. Wenn ich nun die Zeilennummern aktivieren möchte, habe ich im Ordner "Extras/Optionen/Texteditor" keine Möglichkeit, dies zu tun, da es die Rubrik "Alle Sprachen" da nicht gibt. In der C++ Express-Edition ist diese Möglichkeit vorhanden.
Kann ich mir das aus C++ irgendwie herüberziehen oder muss ich das separat installieren?
Danke für Euere Hilfe!
Grüsse
Franz
Ah, super...
Also ich habe da rausgefunden, das die 4. (letzte) Variable kein Integer, sondern ein IntegerPointer (IntPtr) sein soll.
Ich versuche es mal so.
An 2. Stelle fand ich auch noch einen StringBuilder nach einer genaueren Suche.
Ich versuche mal alle möglichen Variablenkombinationen und hoffe, das es diesmal klappt.
Wenns nicht klappt, melde ich mich wieder.
Thx
Edit: Ich schreib mal den Code so, wie ich ihn derzeit habe:
[DllImport("winmm.dll", EntryPoint="mciSendStringA")]
private extern long mciSendString(string lpszCommand, string lpszReturnString, long cchReturnLength, long hwndCallBack);
StringBuilder retString=new StringBuilder(new string(' ',256));
if (mciSendString("open c:\\music.mp3 type MPEGVideo alias MyMP3", null, 0, 0) = 0) mciSendString("play MyMP3 from 0", retString, 0, IntPtr.Zero);
System.ComponentModel.IContainer
Wenn ich mir Code Snippets so ansehe, wird dieser "Container" öfters verwendet!
Um was handelt es sich dabei? Für was wird es verwendet?