Laden...

Welche Windows API's kann man nutzen?

Erstellt von TOM_MUE vor 16 Jahren Letzter Beitrag vor 16 Jahren 2.242 Views
TOM_MUE Themenstarter:in
200 Beiträge seit 2004
vor 16 Jahren
Welche Windows API's kann man nutzen?

Hallo,

mich würde mal interessieren, welche Windows API´s (die von ihrer Funktionalität nicht in .NET abgebildet oder nur gewrappt sind) ihr gerne oder gezwungener Maßen nutzt und wie ihr sie gefunden habt. Ich selbst nutze zum Beispiel die DPAPI oder "Background Intelligent Transfer Service". Ich kann mich auch noch schwach erinnern, das es mal eine spezielle API gab, mit der man Mails / Messages anprogrammieren kann. Das ganze war unter Windows XP Pro.

Ich würde mich sehr freuen wenn Ihr noch ein paar API´s mehr nennen könntet und wofür sie gut sind. Ich finde man sollte nicht immer das Rad neu erfinden müssen und Dinge die mit dem System schon mitgeliefert sind auch nutzen.

Besten Dank

TOM

R
494 Beiträge seit 2006
vor 16 Jahren
49.485 Beiträge seit 2005
vor 16 Jahren

Hallo TOM_MUE,

naja, du kannst alle Win32-APIs nutzen. Es gibt ja auch eine komplette Win32-API-Dokumentation auf MSDN. Da findest du alles, was das Herz begehrt.

Ansonsten wie regen schon sagt: http://pinvoke.net/

herbivore

TOM_MUE Themenstarter:in
200 Beiträge seit 2004
vor 16 Jahren

Original von regen

>

?(

Wow, danke für diese Antwort! 🤔

TOM

TOM_MUE Themenstarter:in
200 Beiträge seit 2004
vor 16 Jahren

Original von herbivore
Hallo TOM_MUE,

naja, du kannst alle Win32-APIs nutzen. Es gibt ja auch eine komplette Win32-API-Dokumentation auf MSDN. Da findest du alles, was das Herz begehrt.

Ansonsten wie regen schon sagt:
>

herbivore

Danke für die Antwort. Das mit der MSDN habe ich auch schon probiert. Ja, das ist ne ganz gute Referenz 😉

Vielleicht habe ich mich aber in meiner Fragestellung etwas falsch ausgedrückt.

Zweiter Versuch 😉 :

Ich habe keine Not, irgendeine API zu finden oder wie der pinvoke MEchanismus funktioniert. Hatte meine Frage ehern als Anregung zu einem kleinen Erfahrungsaustausch verstanden. Ganz nach dem Motto "Hey, ich habe die API XYZ für das abfragen von BlaBliBlub benutzt. Das hatte DEN Vorteil und ich bin froh das ich sie gefunden habe denn DAS ist nicht in .NET abgebildet"

Das wäre zum einen befriedigend für mich, und zum anderen würde es als schöne Referenz hier im Forum dienen, für alle die Später die gleiche Frage haben. Wisst Ihr wie oft hier im Forum auf Fragen einfach ein Link hingerotzt wurde? Ganz besonders h--p://pinvoke.net?

Ich weiß, ich bin hier der Fragende und in der Erwartungshaltung. Aber ich kenne aus meinen Beginnerzeiten die Qualitäten der Antworten aus MyCsharp anders!

!!! Ist konstruktiv gemeint !!!

(GrußFormel vergessen (schäm))

Grüßla
TOM_MUE

49.485 Beiträge seit 2005
vor 16 Jahren

Hallo TOM_MUE,

Ich weiß, ich bin hier der Fragende und in der Erwartungshaltung. Aber ich kenne aus meinen Beginnerzeiten die Qualitäten der Antworten aus MyCsharp anders!

naja, da du dich ja schon lange mit C# beschäftigst, wäre es an der Zeit, dass du dein durch myCSharp.de erlangtes Wissen durch qualitativ hochwertige Antworten wieder an myCSharp.de zurückgibt. Zumindest wenn du einen Zustand beklagst, bei dem du selber in der Hand hast, ihn ein Stück weit abzustellen.

Davon abgesehen, hat sich wie ich finde die Qualität eher verbessert. Das Links vermehrt gepostet werden, hat ja nur damit zu tun, dass viele Fragen schon gestellt und beantwortet sind. Statt sie wieder und wieder zu beantworten, wird auf die bestehenden Antworten verwiesen. myCSharp.de hat einfach ein enormes Wissensrepertoire aufgebaut, das durch die Verlinkung genutzt wird. Dies stand in den Anfangstagen natürlich noch nicht zur Verfügung.

Und wie du in Themen ohne Antwort sehr schön sehen kannst, war in den Anfangstagen von myCSharp.de bei weitem nicht alles so rosig, wie es in der verklärten Erinnerung vielleicht erscheinen mag. Die Anteil der unbeantworteten Fragen ist z.B. seit den Anfangstagen mehr als drastisch gesunken.

herbivore

1.820 Beiträge seit 2005
vor 16 Jahren

Hallo!

OK, dann fang' ich mal an.

Ich benutze im Kontakt-Manager für das OutlookExpress-PlugIn die API vom Windows-Adressbuch (da beide dieselbe Datenbasis verwenden), um die Kontakte auszulesen. Eine entsprechende Funktionalität ist in .NET nicht vorhanden. Das ganze gestaltet sich allerdings doch etwas schwierig, weil man viel mit Pointern arbeiten muss.

Für die Druckersteuerung kann man "Winspool.drv" benutzen.
Dabei muss man aber vorsichtig sein, ich hab' mir mal meinen Treiber dabei so zerschossen, dass ich nur noch mit Standard-Einstellungen drucken konnte, weil die Eigenschaften nicht mehr aufrufbar waren.

EDIT:
Bzgl. Verlinkung:
Mit der Verlinkung im Forum ist es ja ähnlich wie in einem Wiki, dort wird auch ein Thema einmal behandelt und dann nur noch darauf verlinkt. Andererseits ist mir aber auch klar, dass du nicht nur eine Auflistung der API-Funktionen willst, sondern wahrscheinlich auch Infos, wofür diese verwendet werden können.

Nobody is perfect. I'm sad, i'm not nobody 🙁

R
494 Beiträge seit 2006
vor 16 Jahren

Ist doch völlig ausreichend der Link.
Die msdn muss man nicht erwähnen.

Wie stellst du dir das vor, apis nennen udn erzählen für was sie gut sind? http://pinvoke.net/ nennt schon viele (alle) und sagt wozu sie gut sind.

Dass jeder hier aufzählt für was er welche api genutzt hat ist doch sinnlos. Sinnvoll ist wenn man vor einem Problem steht und in einem Thread dann zu einem konkreten Problem jeder sagen kann xy ist besser als yx..

Naja, nur meine 2cents.

TOM_MUE Themenstarter:in
200 Beiträge seit 2004
vor 16 Jahren

Hallo tom-essen,

danke für Deine informative Antwort. Ich selbst habe die API des Windows Adressbuch noch nicht benutzt. Ist aber gut zu wissen, dass man einen Zugriff auf ein Adressbuch hat, und nicht wieder alles selbst neuprogrammieren muss. Hast Du mal herausgefunden, ob das Adressbuch von Windows immer installiert ist, oder mit dem Entfehrnen von Outlook Express aus den Windows-Fetures ab Windows XP auch verschwindet? Das wäre dann natürlich schlecht 😭

Ich habe noch mal meine alten Samples durchforstet und eine weitere Windows API gefunden. Sie nennte sich CDO(Collaboration Data Objects) und liegt im System32 Verzeichnis. Mit dieser API kann man Mails versenden, eingegange Mails lesen und und und. Und jetzt der Vorteil dieser API. Das ganze kann man auf seine eigene Inbox etc. ohne Outlook nutzen.

Hier mal ein Link zum entsprechenden Knowledge-Eintrag auf den MS-Seiten:

HowTo use CDO

Und hier noch eine gute Diskussion zum Thema CDO: CDO Diskussion

Ich habe noch einen kleinen Workaround zum auffinden von nützlichen Windows API´s gefunden. Wenn man ein Abbo der Zeitschrift dotnetpro hat, kann man alle Artikel online als PDF lesen. Über deren Suchfunktion kann man "Windows API" eingeben und bekommt dazu einige Artikel zum nachlesen. Einen habe ich gefunden der beschreibt, wie man die Volltextsuche von Windows nutzen kann um nach Mailadressen in Dokumenten zu suchen.

Hier noch der Link zur dotnetpro Magazin

Artikel: Suchprogramm für E-Mail-Adressen, Teil 1

Grüße
TOM_MUE