Code: Alles auswählen
import win32process
help(win32process)
# oder
dir(win32process)
Code: Alles auswählen
import win32process
help(win32process)
# oder
dir(win32process)
Also hab ich in der MSDN Library nachgeschaut. Unter References stehen diverse URLs. Schließlich hab ich über die Microsoft-Website einen Link gefunden. Dort steht links Win32 und COM-Entwicklung. Wenn man immer schön die "+"-Symbole im Baum aufklappt und sich durch die Unterpunkte hangelt, kommt man durchaus zu sinnvollen Ergebnissen. Hier z.B. Infos über das Auslesen der Größe und des Speicherplatz eines Laufwerks:http://en.wikipedia.org/wiki/Microsoft_Windows_SDK hat geschrieben:All SDK documentation is part of the online and disc-based MSDN Library
Code: Alles auswählen
[DllImport ("Kernel32", SetLastError=true)]
public static extern bool GetDiskFreeSpaceEx(
[MarshalAs(UnmanagedType.LPStr)] string lpDirectoryName,
ref ulong lpFreeBytesAvailable,
ref ulong lpTotalNumberOfBytes,
ref ulong lpTotalNumberOfFreeBytes
);
Ich klicke den Link, aber nichts passiertdroptix hat geschrieben:Ich denke mal du hast mit HTML-Help-Datei die hier gemeint: [url=file:///C:/Programme/Python24/Lib/site-packages/win32com/html/docindex.html]Lib/site-packages/win32com/html/index.html[/url]. Für mich konnte ich nicht wirklich viel entdecken. Aber es ist gut zu wissen, dass ich dort was finde, falls ich mal makepy.py brauche (was ich bis heute nicht richtig verstanden habe).
Auf der Visual Studio Express-Seite kannst du dir auch die MSDN Library runterladen. Die deutsche Version ist 2.2 GB groß (und natürlich nicht komplett übersetzt).droptix hat geschrieben:Auf der Wikipedia-Site komme ich auch nicht wirklich weiter.http://en.wikipedia.org/wiki/Microsoft_Windows_SDK hat geschrieben:All SDK documentation is part of the online and disc-based MSDN Library
Du hast da Managed C++-Code rausgegraben. Der hat noch mehr "Noise" als der normale C++-Code. Aber die dort beschriebene Funktion kannst du mit ctypes anzusprechen versuchen.droptix hat geschrieben:Nun bleibt die Frage, wie ich das in Python verwenden kann. Irgendwelche Ideen?
Ich würde eher sagen, das die Win32 API ausreichend ätzend ist, dass niemand die mehr benutzt als nötig.droptix hat geschrieben:P.S. Stelle ich mich eigentlich so dumm an oder findet ihr die Arbeitsweise mit win32 & Co. selbsterklärend?
Nein, ich meinte die Hilfe-Datei, die nach dem Installieren von pywin32 über das Startmenü aufgerufen werden kann. Bei mir liegt die unter *J:\Python24\Lib\site-packages\PyWin32.chm*droptix hat geschrieben:Ich denke mal du hast mit HTML-Help-Datei die hier gemeint: [url=file:///C:/Programme/Python24/Lib/site-packages/win32com/html/docindex.html]Lib/site-packages/win32com/html/index.html[/url].
Nachdem du über das MSDN oder die Plattform SDK den API-Aufruf und die Beschreibung dazu gefunden hast, suchst du nach dieser Funktion in der Pywin32-Hilfe. Z.B. nach "GetDiskFreeSpaceEx". Dort findest du z.B. die Hilfe zu *win32file.GetDiskFreeSpaceEx*.droptix hat geschrieben:z.B. Infos über das Auslesen der Größe und des Speicherplatz eines Laufwerks:Nun bleibt die Frage, wie ich das in Python verwenden kann.Code: Alles auswählen
[DllImport ("Kernel32", SetLastError=true)] public static extern bool GetDiskFreeSpaceEx( [MarshalAs(UnmanagedType.LPStr)] string lpDirectoryName, ref ulong lpFreeBytesAvailable, ref ulong lpTotalNumberOfBytes, ref ulong lpTotalNumberOfFreeBytes );
Code: Alles auswählen
>>> import win32file
>>> win32file.GetDiskFreeSpaceEx("J:")
[322126974976L, 400077586432L, 322126974976L]
>>>
Hab ihn nur "kopierfähig" gemacht (Rechtsklick -> Link-Adresse kopieren). Anklicken geht zwar nicht, aber in die Browser-Adresszeile einfügen und <Enter> geht (vorausgesetzt du hast Python 2.4 nach "C:\Programme" installiert).Leonidas hat geschrieben:Ich klicke den Link, aber nichts passiert
Aaaaaaaah, die Erleuchtung! Das hatte ich völlig übersehen…gerold hat geschrieben:Nein, ich meinte die Hilfe-Datei, die nach dem Installieren von pywin32 über das Startmenü aufgerufen werden kann. Bei mir liegt die unter *J:\Python24\Lib\site-packages\PyWin32.chm*
Leonidas hat geschrieben:Auf der Visual Studio Express-Seite kannst du dir auch die MSDN Library runterladen. Die deutsche Version ist 2.2 GB groß (und natürlich nicht komplett übersetzt).
Hum, welche brauch ich denn nun Anscheinend gibt es nicht nur eine Library, sondern für fast jedes Windows eine einzelne… ich hab kapiert, dass das alte "Platform SDK" Windows 2000, XP und 2003 unterstützt. Das neue "Windows SDK" unterstützt z.B. kein 2000 mehr, geht dann ab XP los, über 2003 bis Vista und 2008. Ich nehme an, dass die meisten Windows für viele Dinge auch eine gemeinsame API haben, oder? Wäre unschön, wenn ich innerhalb meines Programms zwischen XP und Vista unterscheiden müsste… ich ahne aber, dass ich das tun muss.gerold hat geschrieben:Die Plattform SDK für Windows XP und Server 2003 kannst du dir hier herunterladen und installieren:
http://www.microsoft.com/msdownload/pla ... k-full.htm
Und die "Windows SDK for Windows Server 2008 and .NET Framework 3.5" bekommst du hier:
http://www.microsoft.com/downloads/deta ... layLang=en
Allerdings habe ich mit dieser PSDK noch keine Erfahrung. Für mich reicht immer noch die ältere PSDK für XP.
Mit ctypes bin ich übrigens gescheitert.Leonidas hat geschrieben:Du hast da Managed C++-Code rausgegraben. Der hat noch mehr "Noise" als der normale C++-Code. Aber die dort beschriebene Funktion kannst du mit ctypes anzusprechen versuchen.droptix hat geschrieben:Nun bleibt die Frage, wie ich das in Python verwenden kann. Irgendwelche Ideen?
Das ist aber schon mal ein Riesen-Fortschritt! Vielen Dank!gerold hat geschrieben:Nachdem du über das MSDN oder die Plattform SDK den API-Aufruf und die Beschreibung dazu gefunden hast, suchst du nach dieser Funktion in der Pywin32-Hilfe. Z.B. nach "GetDiskFreeSpaceEx". Dort findest du z.B. die Hilfe zu *win32file.GetDiskFreeSpaceEx*.droptix hat geschrieben:Nun bleibt die Frage, wie ich das in Python verwenden kann.
Und als Ergebnis kommt so etwas raus:Die pywin32-Hilfe erklärt, was du zurück bekommst.Code: Alles auswählen
>>> import win32file >>> win32file.GetDiskFreeSpaceEx("J:") [322126974976L, 400077586432L, 322126974976L] >>>
Aber so schön läuft das leider nicht immer.
Nö, die Executable ist bei mir in /usr/bin/. Es ist auch etwas sinnlos Lokale-links online zu stellen, da es besonders im Fall Pythons eher unwahrscheinlich ist, dass andere es in den gleichen Pfad installieren, besonders unter Windows.droptix hat geschrieben:Hab ihn nur "kopierfähig" gemacht (Rechtsklick -> Link-Adresse kopieren). Anklicken geht zwar nicht, aber in die Browser-Adresszeile einfügen und <Enter> geht (vorausgesetzt du hast Python 2.4 nach "C:\Programme" installiert).
Naja, was ich dir gepostet habe ist die MSDN Library, die Dokumentation die für so ziemlich alle Windows-Versionen gilt. Das was Gerold gepostet hat ist das Windows SDK, mit dem man Windows-Programme schreiben kann. Keine Ahnung, wozu du das brauchen könntest.droptix hat geschrieben:Leonidas hat geschrieben:Auf der Visual Studio Express-Seite kannst du dir auch die MSDN Library runterladen. Die deutsche Version ist 2.2 GB groß (und natürlich nicht komplett übersetzt).Hum, welche brauch ich denn nun Anscheinend gibt es nicht nur eine Library, sondern für fast jedes Windows eine einzelne… ich hab kapiert, dass das alte "Platform SDK" Windows 2000, XP und 2003 unterstützt. Das neue "Windows SDK" unterstützt z.B. kein 2000 mehr, geht dann ab XP los, über 2003 bis Vista und 2008. Ich nehme an, dass die meisten Windows für viele Dinge auch eine gemeinsame API haben, oder? Wäre unschön, wenn ich innerhalb meines Programms zwischen XP und Vista unterscheiden müsste… ich ahne aber, dass ich das tun muss.gerold hat geschrieben:Die Plattform SDK für Windows XP und Server 2003 kannst du dir hier herunterladen und installieren:
http://www.microsoft.com/msdownload/pla ... k-full.htm
Und die "Windows SDK for Windows Server 2008 and .NET Framework 3.5" bekommst du hier:
http://www.microsoft.com/downloads/deta ... layLang=en
Allerdings habe ich mit dieser PSDK noch keine Erfahrung. Für mich reicht immer noch die ältere PSDK für XP.
Da ich eine Windows-Anfrage hatte, dachte ich dass das in Ordnung geht. Die gesuchte Datei (die ich falsch verstanden hatte) ist ja auch eine .chm Datei, also nur für Windows gedacht.Leonidas hat geschrieben:Es ist auch etwas sinnlos Lokale-links online zu stellen, da es besonders im Fall Pythons eher unwahrscheinlich ist, dass andere es in den gleichen Pfad installieren, besonders unter Windows.
Ich hab die Library inzwischen runter geladen und werde hoffentlich glücklich damit. Man braucht die win32 Extensions ja nur in Ausnahmefällen, aber manchmal geht's halt nicht pythonischer…Leonidas hat geschrieben:Naja, was ich dir gepostet habe ist die MSDN Library, die Dokumentation die für so ziemlich alle Windows-Versionen gilt. Das was Gerold gepostet hat ist das Windows SDK, mit dem man Windows-Programme schreiben kann. Keine Ahnung, wozu du das brauchen könntest.
Ich will nicht sagen, dass sowas nicht in Ordnung geht, das tut es ja, nur ist es sinnlos. Du hast einen Nicht-Standard-Installationspfad für Python 2.4 angegeben (Default wäre ``%DRIVELETTER%:/Python24``), wobei es inzwischen bei den meisten Windows-Python-Usern ``25`` lautet, da Python 2.5 schon Ewigkeiten da ist und nun schon bald sein zwites Maintenance Release hat. Ich habe oft Python in ``Programme\Python`` ohne die Versionsnummer installiert und selbst ``C:\PythonXY`` stimmt nicht immer, da einige Rechner ihr Windows woanders installiert haben, etwa ``D:``. Gerold nutzt ja ``J:``. Also ist der Pfad bei fast allen falsch, somit ist es sinnlos ihn anzugeben.droptix hat geschrieben:Da ich eine Windows-Anfrage hatte, dachte ich dass das in Ordnung geht. Die gesuchte Datei (die ich falsch verstanden hatte) ist ja auch eine .chm Datei, also nur für Windows gedacht.Leonidas hat geschrieben:Es ist auch etwas sinnlos Lokale-links online zu stellen, da es besonders im Fall Pythons eher unwahrscheinlich ist, dass andere es in den gleichen Pfad installieren, besonders unter Windows.
Hallo Leonidas!Leonidas hat geschrieben:Gerold nutzt ja ``J:``.
Die genau Bezeichnung für das gepostete "C++" lautet "C#"Leonidas hat geschrieben:Du hast da Managed C++-Code rausgegraben.droptix hat geschrieben:Nun bleibt die Frage, wie ich das in Python verwenden kann. Irgendwelche Ideen?
Genau. Windows-Programmierung geht mit anderen Bibliotheken weitaus besser!Ich würde eher sagen, das die Win32 API ausreichend ätzend ist, dass niemand die mehr benutzt als nötig.droptix hat geschrieben:P.S. Stelle ich mich eigentlich so dumm an oder findet ihr die Arbeitsweise mit win32 & Co. selbsterklärend?
Interessiert! Welche?lunar hat geschrieben:Windows-Programmierung geht mit anderen Bibliotheken weitaus besser!
Ich weiß, daher sagte ich auch "nur für Windows gedacht" und nicht "nur für Windows gemacht", hehelunar hat geschrieben:CHM Viewer gibt es auch für Linux
Weiß ich nicht Wenn meine Programme unter Windows laufen, ist das ein unbeabsichtigter Seiteneffekt der Bibliothekswahl (z.B. Qt4 als Toolkit).droptix hat geschrieben:Interessiert! Welche?lunar hat geschrieben:Windows-Programmierung geht mit anderen Bibliotheken weitaus besser!