Win2000にはSHOpenWithDialogと同じ様なAPIが存在することが判明

Windows 2000のOpenAs_RunDLLW

 OpenAs_RunDLLW:
          push    ebp
          mov    ebp,esp
          sub    esp,00000214h
          push    edi
          mov    ecx,00000084h
          xor    eax,eax
          lea    edi,[ebp-00000210h]
          rep stosd
          mov    eax,[ebp+10h]
          mov    dword ptr [ebp-0000020Ch],00000007h
          mov    [ebp-00000214h],eax
          lea    eax,[ebp-00000214h]

          push    eax
          push    [ebp+08h]
          call      73AFA752

          push    ebp
          leave
          retn    0010h

Windows Vista のOpenAs_RunDLLW

 OpenAs_RunDLLW:
          mov    edi,edi
          push    ebp
          mov    ebp,esp
          sub    esp,00000014h
          mov    eax,[L76C53E0C]
          xor    eax,ebp
          mov    [ebp-04h],eax
          push    ebx
          mov    ebx,[ebp+08h]
          push    esi
          mov    esi,[ebp+10h]
          push    edi
          call    SUB_L769405FB
          mov    [ebp-14h],eax
          xor    eax,eax
          lea    edi,[ebp-0Ch]
          stosd
          stosd
          lea    eax,[ebp-10h]
          push    eax
          push    ebx

          mov    [ebp-10h],esi
          mov    dword ptr [ebp-08h],0000000Fh
          call    SHOpenWithDialog
          push    [ebp-14h]
          call    SUB_L76950AE5
          mov    ecx,[ebp-04h]
          pop    edi
          pop    esi
          xor    ecx,ebp
          pop    ebx
          call    SUB_L7697DD00
          leave
          retn    0010h

やってる事ほぼ同じみたい・ω・

どうやら、Windows 2000には SHOpenWithDialog と同じ処理 が存在する模様

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です