DynaWrap (PHP, Perl, ...) |
Écrit par Gilles LAURENT
|
23-09-2008 |
Quelques exemples d'utilisation du Wrapper DynaWrap avec différents langages de script Cette page est destinée à être régulièrement enrichie dans le but de répondre aux différentes demandes d'utilisation du composant DynaWrap dans différents langages de script supportant la technologie COM ainsi que les variables de type VARIANT. VBScript : API Win32 GetProfileSection - Utilisation des méthodes built'in DynaWrap GetBSTRAddr et GetMemInBSTRAddr | - Set oDyn=CreateObject("DynamicWrapper")
- oDyn.Register "Kernel32.dll", "GetProfileSection", "r=l", "i=sll"
- sReturnedString=String(1024,Chr(0))
- dwBSTRAddr=oDyn.GetBSTRAddr(sReturnedString)
- WScript.Echo oDyn.GetProfileSection("Mail", dwBSTRAddr, 1024)
- nOffset=0
- Do
- sKeyVal=oDyn.GetMemInBSTRAddr(dwBSTRAddr, nOffset, 0)
- If sKeyVal <> "" Then
- WScript.Echo sKeyVal
- nOffset=nOffset+Len(sKeyVal)+1
- End If
- Loop Until sKeyVal = ""
|
PHP : API Win32 GetProfileSection - Utilisation de la classe VARIANT - Utilisation des méthodes built'in DynaWrap GetBSTRAddr et GetMemInBSTRAddr | - <?php
- $oDyn=new COM("DynamicWrapper");
- $oDyn->Register("Kernel32.dll", "GetProfileSection", "r=l", "i=sll");
- $sReturnedString=new VARIANT(sprintf("%1024s", " "));
- $dwBSTRAddr=$oDyn->GetBSTRAddr($sReturnedString);
- printf("%ld\n",$oDyn->GetProfileSection("Mail", $dwBSTRAddr, 1024));
- $nOffset=0;
- do {
- $sKeyVal=$oDyn->GetMemInBSTRAddr($dwBSTRAddr, $nOffset, 0);
- if ($sKeyVal != "") {
- print "$sKeyVal\n";
- $nOffset+=strlen($sKeyVal)+1;
- }
- }
- while ($sKeyVal != "");
- ?>
|
Perl : API Win32 GetProfileSection - Utilisation du module Win32::OLE::Variant - Utilisation des méthodes built'in DynaWrap GetBSTRAddr et GetMemInBSTRAddr | - use Win32::OLE::Variant;
- $oDyn=Win32::OLE->new('DynamicWrapper');
- $oDyn->Register('Kernel32.dll', 'GetProfileSection', 'r=l', 'i=sll');
- $sReturnedString=Variant(VT_VARIANT|VT_BYREF, ' ' x 1024);
- $dwBSTRAddr=$oDyn->GetBSTRAddr($sReturnedString);
- printf("%ld\n",$oDyn->GetProfileSection('Mail', $dwBSTRAddr, 1024));
- $nOffset=0;
- do {
- $sKeyVal=$oDyn->GetMemInBSTRAddr($dwBSTRAddr, $nOffset, 0);
- if ($sKeyVal ne '') {
- print "$sKeyVal\n";
- $nOffset+=length($sKeyVal)+1;
- }
- }
- while ($sKeyVal ne '');
|
Note : Cette page sera régulièrement complétée en fonction des demandes.
|
Dernière mise à jour : ( 23-09-2008 )
|