Laden...
H
hauptmann myCSharp.de - Member
Schüler Österreich/Kärnten Dabei seit 19.07.2003 704 Beiträge
Benutzerbeschreibung

Forenbeiträge von hauptmann Ingesamt 704 Beiträge

18.04.2007 - 15:26 Uhr

Funktioniert bei mir ohne Probleme.

Könnte vielleicht damit zusammenhängen, dass du nicht die entsprechenden Sicherheitsberechtigungen hat. Soviel ich weiß benötigt FileSystemWatcher FullTrust und auch die ACLs deines Directory müssen entsprechend gesetzt sein.

17.04.2007 - 20:01 Uhr

hmm
Für die Unixtools grep, cut und sort gibt es entsprechende C# Implementierungen. Einfach diese mit deiner Anwendungen ausliefern und dann verwenden.

17.04.2007 - 19:48 Uhr

Original von MEt45
Bei mir ist es genauso wie bei den meisten:

Code/Quelltext in englisch, VS in englisch und Framework ebenfalls in englisch

MfG MEt45

Bis auf die Tastatur halte ich das auch so ... kommt eigentlich daher das ich das schon immer mache und nie wirklich mit Deutsch am PC gearbeitet habe^^

22.02.2007 - 22:00 Uhr

Hi!

Ich stehe derzeit von einem Architekturproblem: Es geht darum einen mehrschichtigen Treiber zu schreiben. Das bedeutet, dass es hier logischerweise eine Menge an unmanaged Code gibt aber auch Managed Code integriert werden soll.
Der gesamte hardwareabhängige Code ist ein Device Treiber. Auf diesen Device Treiber setzen danach mehrere Schichten auf.

Nun stehe ich vor der Frage: Wie schaffe ich es, eine saubere Kommunikation und Integration der einzelnen Komponenten zu schaffen? Über COM? Das wäre sowohl für Anwendungen, die nicht das .net Framework verwenden als auch für .net Anwendungen möglich. Da meine Anwendung einige paralellen zu DirectX aufweist, dachte ich, es wäre vielleicht sinnvoll das so wie bei DirectX zu lösen: Eben über COM und mit einem Wrapper für .net.

Oder gibt es hier eine bessere Lösung?

26.10.2006 - 10:51 Uhr

Google mal nach DirectInput.

25.10.2006 - 14:21 Uhr

Leider noch nicht, mir fehlen noch zwei ICs die nächste Woche eintreffen sollten(ein CY7C1020CV33 SRAM und ein 74LVT16373 D-Latch). Mein ARM7TDMI hat intern nur 64kbyte Speicher.

22.10.2006 - 18:04 Uhr

Entweder durch späte Bindung des Assembly oder über ein externes Programm das dann dein Programm aufruft aber zuvor prüft ob es das Assembly gibt. (Einfach ein Assembly.LoadFrom() machen und schauen ob es geklapt hat)

22.10.2006 - 17:52 Uhr

Du musst die entsprechenden DLLs bzw. Assemblies von der MySQL Schnittstelle natürlich mitliefern.
Wenn du den mysql Connector von Mysql.com verwendest dann musst du einfach nur die Mysql.Data.dll mitliefern.

22.10.2006 - 13:14 Uhr

Ich mache im November ja ein kurzes Schülerpraktikum bei einer Softwarefirma. Soweit ich mich erinnern kann arbeiten die z.T. mit Visual Studio 2003. Teilweise aber auch mit noch älteren Programmen (z.B. Visual Basic 6). Ich habe vor meine Sachen da in C# zu machen. Ich selbst arbeite ja mit der 2005er Express Version. Wenn ich jetzt da mit der 2003er arbeite, sind da die unterschiede zur neuen arg groß? Also was handhabung, etc. angeht. Oder geht der Umstige leicht?

Der Umstieg ist nicht allzu schwer da das Design und Look&Feel recht ähnlich sind. Aufpassen musst du vorallem beim Programmieren, .net 1.1 bietet vieles noch nicht was .net 2.0 schon hat.

21.10.2006 - 17:07 Uhr

Es wäre möglich x als System.Object zu deklarieren und dann bei Bedarf zu casten.

object x;
x = (int)1;
x = (string)"Hello";

21.10.2006 - 10:32 Uhr

wow, sieht sehr gut aus.
Gleich mal auf meiner ARM7 Platine ausprobieren.

15.08.2006 - 19:22 Uhr

Original von herbivore
Hallo ldr,

Zahlen könnt ich selber, bloß hab ich keine Erlaubnis
du kannst dein Taschengeld frei verwenden. Das können deine Eltern gar nicht verbieten. Und sie sollten es auch nicht, weil das Taschengeld ja gerade dafür da ist zu lernen, eigene finanzielle Entscheidungen zu treffen. Sie könnten höchstens verbieten, dass du Web-Hosting nutzt, aber dann würde das auch für das kostenlose gelten.

herbivore

Du musst aber bedenken das er '92 geboren ist und noch nicht unbedingt ein eigenes Konto besitzt.
Und wenn sich die Eltern quer stellen, dürfte es schwer werden.

15.08.2006 - 18:41 Uhr

Original von ldr
Sry ich würde ja gerne ASP.NET benutzen aber das gibt's nicht für lau 😦

Google verwenden regelt.

http://www.aspspider.net/
http://www.freewebdot.com/
...

08.08.2006 - 21:27 Uhr

Danke, funktioniert perfekt ...

08.08.2006 - 21:06 Uhr

Hi!

Ehm, kurze Frage: Wie kann ich ein bestimmtes Bit setzen/löschen aber ohne die anderen Bits anzutasten? zB. Will ich Bit 24 in einem 32 Bit Wert setzen ohne die anderen Bits irgendwie zu berühren.

06.08.2006 - 16:58 Uhr

Wenn du nur XOR auf eine Line willst kannst doch auch ControlPaint.DrawReversibleLine verwenden ..

23.07.2006 - 14:16 Uhr

Original von Waschbecken

Original von Golo Haas
Danke cadi, Deinen Beitrag empfinde ich als sehr lindernd 🙂. Das Wort "Bashing" trifft das ganze auch ganz gut, wie ich mich dabei fühle, aber nun ja ...

Ansonsten, an alle: Dass ich wegen solcher Änderungen nicht immer vorher eine Abstimmung mache, ist doch wohl klar?!? Das hat Alex genauso wenig gemacht, sondern er wie ich machen das, was wir für die Community das Beste halten. Dafür leitet man sie eben.

Es wird ja vermutlich auch keiner auf die Idee kommen, dass ich vorher eine Abstimmung machen soll, ob das visual studio one-Probeabo von den Konditionen her akzeptabel ist. Vielleicht fühlt sich dabei ja auch irgendwer benachteiligt?

Und klar, ich kann auch erst eine Abstimmung machen, ob im Menü Zwischenüberschriften sinnvoll sind oder nicht, ob die in fett besser aussehen als in kursiv, ob die 1 Punkt größer sein sollten als der restliche Text und ob die Leerzeile darüber nicht 3 Pixel zu flach ist ...

Nur - wer braucht dann noch eine Leitung? Dann kann man gleich ein Opensource-Projekt draus machen, an dem jeder mitmachen kann.

Und - die, die das gerne so hätten, das Wort Effizienz kennt Ihr, oder? Wenn Alex oder ich wegen jeder solcher Kleinigkeiten eine Abstimmung machen würden, dann wäre myCSharp.de heute nicht da, wo es nach drei Monaten schon war.

Vielleicht könnte man auch darüber abstimmen, ob die Schriftart geändert werden sollte in Times, oder ob das Verhältnis von Webseitenhöhe zu -breite nicht der Zahl Pi angenähert werden sollte, oder oder oder ... Themen gibt's bestimmt genug.

Und weil so gerne das Wort Demokratie angeführt wird - in Deutschland gibt es keine Volksabstimmungen, Demokratie heißt in der Regel, dass vom Volk gewählte Vertreter entscheiden, ohne vorher immer erst groß fragen zu müssen.

Da es in diesem Fall die Möglichkeit der Wahl der Vertreter nicht gibt, bleibt einem halt, myCSharp.de zu nutzen oder sich eben woanders umzusehen. Wer wird denn gezwungen, hier zu bleiben, oder myCSharp.de überhaupt erst zu nutzen, wenn es ihm dabei auf Grund der extrem hohen Kommerzialisierung sonstwie kalt den Rücken runterläuft?

Pure Polemik und keineswegs der Diskussion zuträglich. Aber bitte ...

Irgendwie ist das alles undendlich albern und infantil. Solche Diskussionen sind typisch für Schulen und Universitäten, wo noch alle vor Idealismus überschäumen (und natürlich bei Linux/Windows Ideologen). Da kostet der ja auch noch nix. Und über alles und jeden zu motzen ist definitiv deutsche Lebensart. Schade für golo, in Amerika hätte er bestimmt schon einen VC gefunden, der aus myCSharp etwas wirklich kommerzielles macht (und ihn einwenig reicher).

Was ist falsch an Idealismus? Normalerweise bringt Idealismus sehr gute Dinge hervor.
Und wenn das ganze komerziell wird müssen eben wieder Dinge für die Komerzialsierung geopfert werden. Das kann nicht im Sinne einer Community sein.

22.07.2006 - 16:24 Uhr

Hi,

ich finde die Links zumindest bedenklich. mycsharp.de war von Anfang an ein Communityprojekt für die Community. Dieser Communitygedanken wird durch das leicht verwässert. Es ist klar, das es beide Seiten gibt aber man sollte persönliche Interessen auf ein Minimum halten alles andere wirkt sich nur schlecht auf die Community aus (gibt genug Beispiele dafür), evtl. nicht kurzfristig aber längerfristig auf jeden Fall. Ich habe schon viele Communities gesehen und erlebt und dabei am ehesten festgestellt, dass je eher der Admin und das Team mit der Community zusammenarbeiten, desto erfolgreicher ist eine Community.

17.07.2006 - 14:10 Uhr

Mathematik in der Schule hat ja nicht nur die Aufgabe dir die eigentliche Mathematik beizubringen sondern auch Logisches Denken, räumliches Vorstellungsvermögen usw. wird dadurch geschult.
Und solche Dinge sind unerlässlich für jeden Programmierer und genau auch deswegen ist Mathematik so sinnvoll.

Studiert hier eigentlich jemand Mathematik?

11.07.2006 - 21:26 Uhr

_Original von Ganry_Wenn man sich allein schon "Themen ohne Antwort" anschaut sieht man das wirklich wichtige sachen hier unbeantwortet bleiben weil keiner nicht einmal die moderatoren einje antwort weis. Wer jetzt noch meint Deutsch ist ah so gut kann ja mal schauen ob er auf prof. fragen antworten bekommt. Ich finde die moderatoren spiegeln das nivou dieser community bereits wieder. Wenn diese sich mit den meisten Thema überhaupt kein meta auskennen aber pseudo antworten posten die dann den eindruck erwecken sollen das sie doch ahnung hätten. Viel spass noch in dieser community. Und wisst ihr was das schöne ist? Ich muss mir eure antworten nicht durchlesen da ich genau nach veröffentlichen dieses posts, welcher aufgrund der ernstzunehmenden tatsachen sicherlich gelöscht wird, dieses forum nicht mehr besuchen werden was ihr ganz sicherlich in eurer kindlichen naivität als gut emfpinden werdet. aber wenn störts denn ich werde das überhaupt nicht mitbekommen.

Das Portfolio von mycsharp.de war von Anfang an auf Hobbyentwickler und Amateure ausgerichtet. (Schließlich wurde es auch von Hobbyentwicklern gegründet ...)
Das sollte man vielleicht beachten, da von Anfang an nicht professionelle Entwickler angezogen worden sind, sondern eben hauptsächlich Hobbyentwickler.
Und das Niveau eines Forum an der Moderation festzumachen zeugt davon das man eben nicht verstanden hat wozu Moderatoren hier sind: Nicht um die Elite des Forums zu repräsentieren. Moderatoren sind hier um in Diskussionen lenkend einzugreifen. Dh. aufzupassen ob sich User an die Forenregeln halten, Themen verschieben, schließen usw.
Und "ernstzunehmende Themen" ... wie gesagt, mycsharp.de hat von Anfang an Hobbyentwickler angesprochen und der Großteil der User hier sind auch Hobbyentwickler und Amateure, nicht Professionelle.

Ich bin dafür den Thread zu schließen. Die Art von Ganry ist einfach nur lächerlich und spätestens der NPD Vergleich macht eine weitere Diskussion überflüssig.

Nach Godwins Law hat er die Diskussion damit schon verloren.

21.06.2006 - 20:04 Uhr

_Original von Bini_Aber das war auch derjenige, der eine Software aus frei verfügbaren Tools zusammenstückeln würde...

Und wo ist das Problem dabei? Imho lassen sich die meisten Anwendungen auch mit freien Tools und Libraries programmieren ... -.-
So eine Einstellung ist sogar eher besser, denn je weniger properitärer Code in einer Anwendung vorhanden ist desto besser.

17.06.2006 - 10:36 Uhr

Original von sheitman

Schließlich ist das Wasserfallmodell sehr unrealistisch und imho ungeeignet für Softwareentwicklung.
Warum ungeeignet und realitätsfremd? Was wäre deiner Meinung nach besser geeignet?

Ja, wie schon oben erwähnt meine ich iterative und inkrementelle Entwicklung ...
Das Wasserfallmodell hat mehrere Probleme:
-> Anforderungen müssen sehr früh im Entwicklungsprozess eingefroren werden
-> Anforderungen werden erst viel zu spät wirklich getestet
-> Eine wirkliche Entwciklung folgt niemals dem sequentiellen Fluß des Wasserfallmodells sondern ist iterativ.
-> Es dauert zu lange bis der Kunde ein funktionierendes Produkt in der Hand hält
Sind nur einige Probleme mit dem Wasserfallmodell.

15.06.2006 - 14:16 Uhr

ok, vielen Dank. Ich denke ich werde dann alle Kurse und Prüfungen besuchen/ablegen. Schließlich hab ich in 2 Jahren dann nochmal die Möglichkeit die CISCO CCNA zu machen -.-

14.06.2006 - 17:10 Uhr

Datentyp Framework?
Microsoft.Samples.DirectX.UtilityToolkit.FrameworkTimer ist die Klasse, die Datei dxmutmisc.cs ist bei mir unter: I:\Programme\Microsoft DirectX SDK (February 2006)\Samples\Managed\Common

14.06.2006 - 17:08 Uhr

Offiziell gibt es keine Planungen. Aber das heißt nicht das man selbst Usertreffen organisieren kann.
Ich kenne bereits aus anderen Vorhaben wo es solche Usertreffen ohne offizielle Planung der Moderation gab und diese ein Erfolg wurden 😉

14.06.2006 - 17:03 Uhr

Hi!

An meiner Schule werde ich nächstes Jahr die Möglichkeit besitzen die MCP 72-270(Installing, Configuring and Administering Windows XP Pro), MCP 72-290(Managing and Maintaing a Windows Server 2003 Environment), MCSA 72-291 (Implementing, Managing and Maintaining Windows Server 2003 Network Infrastructure), MCSA 70-299 (Implementing and Administering Security in a Windows Server 2003 Network) und MCSA Security 70-350 (Implementing Microsoft Internet Security and Acceleration Server 2004) Prüfungen (inkl. Kurs) abzulegen. Die Kurse sind dabei aus dem Unterrichtsbudget finanziert und die Prüfungen und Kursunterlagen um 50% im Preis reduziert.
Jetzt frage ich mich ob die MCP und MCSA Prüfungen noch gefragt sind bei Firmen (Insgesamt müsste ich für alle Prüfungen und Kurse um die 1200€ Selbstbehalt zahlen) oder ob die nur eine nette Draufgabe für den eigenen CV sind und eher nichts bringen -.-

Bei den Lehrern an meiner Schule gehen die Meinungen dazu total auseinander, ich schwanke eher dazu die Kurse sehr wohl zu machen (kosten ja nicht so viel bzw. im Vergleich dazu wenn man es in einem echten Institut macht) aber wenn es mir nichts bringt, wieso dann die Prüfungen ablegen?

13.06.2006 - 16:07 Uhr
	public class Framerate
	{
		public static int GetFrameRate()
		{
			int f2 = (int)FrameworkTimer.GetAbsoluteTime();
			if( (f2-last) >= 1)	
			{
				lastFrame = framerate;
				framerate = 0;
				last = f2;
			}
			++framerate;
			return lastFrame;
		}
		private static int last;
		private static int framerate;
		private static int lastFrame;
	}

FrameworkTimer.GetAbsoluteTime ist eine Funktion vom Direct3D SDK ... (Zu finden in der dxmutmisc.cs). Du kannst auch Environment.TickCount verwenden, aber dann muss du auf _ ≥ 1000_ abfragen (unterschiedliche Frequenzen vom Timer 😉 )
Die Funktion musst du übrigens einmal pro Frame aufrufen

10.06.2006 - 15:13 Uhr

Du kannst ja dein 50x35 Sprite direkt als 64x64 Bild speichern und die ungenutzen Pixel zB Pink färben und dann einen Colorkey beim Laden setzen.
Achja, du solltest vielleicht aus Kompatibilitätsgründen immer Texturen mit 2er Potenzen als Größe verwenden. Viele älteren Grafikkarten unterstützen nur solche Texturen (und wie gesagt, ungenutze Pixel einfach in einer einheitlichen Farbe einfärben und dann Colorkey setzen)

09.06.2006 - 21:40 Uhr

Mach pDATA als ein System.Object. Das kannst du dann in jede beliebige Klasse casten (zB System.Boolean, System.Int32 usw.)

09.06.2006 - 21:34 Uhr

_Original von Golo Haas_Jemand, der gut in XP und Agilen Methoden ist, kann trotzdem null Erfahrung mit dem klassischen Wasserfallmodell haben und umgekehrt.

Naja, jemand der bisher nur oder zum Großteil Software nach dem Wasserfallmodell entworfen hat würde ich nicht einstellen. Schließlich ist das Wasserfallmodell sehr unrealistisch und imho ungeeignet für Softwareentwicklung.

09.06.2006 - 15:48 Uhr

_Original von Fatal_Nun die Frage: Gibt es eine Alternative zu D3D im 2D bereich?

Für OpenGL und SDL gibt es mehrere Wrapper für C#/.net

Und wo werden im DirectX SDK abgeleitete Windows Controls verwendet? Wenn du die Klassen aus Microsoft.Samples.DirectX.UtilityToolkit meinst, die verwenden keine Windows Controls sondern die Microsoft.DirectX.Direct3D.Sprite Klasse zum zeichnen der Controls.

06.06.2006 - 21:38 Uhr

Wie stürzt das Programm ab? Normalerweise muss doch der Debugger eine Exception anzeigen?
Vielleicht hat dein Thread ja nicht die für Process.Start notwendigen Sicherheitserlaubnisse (PermissionState.Unrestricted) ...

Aber normalerweise würde ich sagen das du vielleicht, wenn möglich, das Design deiner Anwendung so abänderst das du keine Threads brauchst -.-

06.06.2006 - 14:43 Uhr

Original von UschkinRedSunshine
Sorry, aber hat die Screen Klasse nicht die gleiche funktionalitaet? Warum dann eine Loesung mit DLL-Imports anbieten?

Ist im Prinzip vollkommen egal, weil die Screen Klasse hat intern auch nur einen Aufruf von GetSystemMetrics -.-
Naja, Portabilität ist bei meiner Variante halt dahin

06.06.2006 - 10:33 Uhr

GetSystemMetrics mit SM_CXSCREEN bzw. SM_CYSCREEN aufrufen ...
http://www.pinvoke.net/default.aspx/user32/GetSystemMetrics.html

Und um die Enum zu sparen mach es dann einfach so:

		[DllImport("user32.dll")]
		public static extern int GetSystemMetrics(int smIndex);
		static void GetRes(out int x,out int y)
		{
			x = GetSystemMetrics(0);
			y = GetSystemMetrics(1);
		}
05.06.2006 - 22:29 Uhr

** Verschoben nach Projekte **

05.06.2006 - 21:27 Uhr

Wo transformierst du? Du verwendest ja einen CustomVertex.TransformedColored dh diese Vertices sind bereits vortransformiert (-> von dir) und werden von Direct3D nicht mehr transformiert.

Zur zweiten Frage: System.Windows.Forms.Form.PointToClient konvertiert dir Bildschirmpunkte in Clientkoordinaten.

05.06.2006 - 21:15 Uhr

Der Fehler liegt in der FS.LoadFile ... wie sieht diese aus?
Der folgende Code funktioniert, hab einfach die FS.LoadFile selbst geschrieben (denke mal so ungefähr hast du die gemacht, oder?).

FileStream inStream = File.OpenRead("hintergrund.png");
MemoryStream storeStream = new MemoryStream();

storeStream.SetLength(inStream.Length);
inStream.Read(storeStream.GetBuffer(), 0, (int)inStream.Length);
int I = Convert.ToInt32(storeStream.Length);       
texture = TextureLoader.FromStream(dev, storeStream,I);
04.06.2006 - 18:38 Uhr

Vielen Dank, die Lösung funktioniert perfekt

04.06.2006 - 15:26 Uhr

Hi!

Wie kann ich eine Form verschieben wenn ich die ControlBox auf false habe und TopMost auf true -.-

04.06.2006 - 15:19 Uhr

Sieh dir den Samplecode an: http://www.pinvoke.net/default.aspx/user32/SendInput.html

dwFlags kannst du auf 0 setzen -.-

04.06.2006 - 08:03 Uhr

Hast du auch beachtet das Sendkeys.Send nur an die aktive Anwendung die Keys sendet?
Verwende SendInput aus der WinAPI ... die Funktion legt die Daten in den Keyboard bzw. Maus Inputstream und alle Anwendungen die laufen greifen dann darauf zu

04.06.2006 - 07:51 Uhr

Stichwort Bounding Boxes. Die Klasse Microsoft.DirectX.Direct3D.Geometry liefert dir da schon ein paar Funktionen, aber die sind halt nur für einfachen Einsatz gedacht.
Am besten ist es sich die Kollisionsabfrage mit Bounding Boxes selbst zu schreiben, über Google findet man zu jeder Kollisionsabfrage die Formeln und kann diese dann leicht implementieren, schließlich braucht man nur wenige Parameter.

Eine Boundingbox funktioniert ungefähr so das du um dein Objekt ein virtuelles weiteres Objekt legst (zB um deine Kugel noch eine Kugel). Dieses virtuelle Objekt ist dann nicht durch Vertices beschrieben wie die wirklich Kugel sondern nur durch ihren Mittelpunkt und den Radius. (Wenn du eine Kugel als Boundbing Box hast, du kannst ja auch einen Würfel nehmen oder was halt am Besten für dein bestimmtes Objekt ist) Sofern du jetzt mehrere solcher virtuellen Objekte hast kannst du dann über recht simple Mathematik überprüfen ob sich die "Bounding Boxes", also die virtuellen Objekte überschneiden. Und eine solche Kollisionsabfrage ist sehr viel schneller als wenn man die Positionen der einzelnen Vertices vergleichen würde.

03.06.2006 - 17:33 Uhr

Selbst machen: RFC 1157 + System.Net.Sockets

API: SNMP API von Microsoft via P\Invoke.

Oder die hier: http://www.c-sharpcorner.com/Code/2002/Sept/SnmpLib.asp
Weiß aber nicht wie gut das ist -.-

EDIT: Verschoben nach Web- und Netzwerktechnologien

02.06.2006 - 21:11 Uhr

Von Strato kann ich eher abraten. Ich hatte mal für ~2 Monate einen Root Server mit Windows 2003 (genutzt als Game-,HTTP- und FTP-Server) und war nicht sehr zufrieden. Derzeit hab ich schon fast ein Jahr nur gute Erfahrung mit Server4You gemacht. Sehr gute Preise und sehr gute Hardware 👍

02.06.2006 - 15:14 Uhr

Ich mein eher den generellen Zugriff auf VSAM Dateien. Der ist ja nicht an ein bestimmtes Betriebssystem gebunden ...

02.06.2006 - 14:59 Uhr

Gibt es eigentlich im .net Framework FCL VSAM ähnliche Klassen oder Implementierungen?

01.06.2006 - 16:54 Uhr

Original von herbivore
Hallo Traumzauberbaum,

nicht bei allen und nicht unbegrenzt.

herbivore

Hi,

naja, die asynchronen Möglichkeiten die die populären und am meist genutzen IM nutzen reichen imho eigentlich aus ...

01.06.2006 - 09:14 Uhr

Wozu Email wenn es IM gibt? IM wie ICQ hat alles was ich brauche und ich sehe keinen Grund die Gespräche von ICQ auf Email zu verlagern ...

02.05.2006 - 21:46 Uhr

Hol dir das Handle und mit GetForegroundWindow fragst du zuerst das aktuelle aktivierte Vordergrundfenster und mit SetForegroundWindow setzt du dann deinen Prozess ein.

Sind alles WinAPI Funktionen ...