Yoh, man kann
Win32-
API Funktionen aus php-Scripten heraus aufrufen!
Vorrausetzung ist neben einem Windows-Server (irgendwie klar) die Extension "php_w32api.dll" (ist bei php im zip-
package dabei), die aktiviert sein muss. Und die zu ladenden DLLs müssen scheinbar im Suchpfad liegen - ich habe es jetzt aufjedenfall nicht hinbekommen, eine
DLL unter Angabe des kompletten Pfades zu laden...
Meine Test-
DLL:
Delphi-Quellcode:
library Project2;
function GetVersion: PChar; stdcall;
begin
Result := PChar('1.2.0.1');
end;
exports
GetVersion;
begin
end.
Diese
DLL habe ich zum testen in mein System32 kopiert...
Und dann das PHP-Script:
Code:
<?php
$
api = new
win32;
$
api->RegisterFunction('string GetVersion () From Project2.dll');
$version = $
api->GetVersion();
echo $version;
$
api->UnregisterFunction('GetVersion');
?>
Das zumindestens hat schonmal funktioniert. Das Problem ist alleine die außerst spärliche Doku zum Thema w32api in PHP. Das kompletteste und aktuellste zu dem Thema scheint mir das hier zu sein:
http://wobster.mynnga.de/w32api.txt
Aber mit Hilfe des Scriptes wäre es möglich, "meinen" Vorschlag etwas zu automatisieren, indem das Script als Ausgabe einfach eine Art Infile produziert... So müsste das nicht mehr manuell gepflegt werden - ich würde aber vielleicht über eine Art Caching nachdanken, damit nicht bei jedem Programmstart das Script alle 10 DLLs laden, ausführen, unloaden muss...
Gruß
Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.