環境変数文字列を展開          <TOP>


ExpandEnvironmentStrings 環境変数文字列を展開し、その文字列を定義された値に置き換える

 

WindowsXP

 

Windows2000

 

 

'================================================================
'= 環境変数文字列を展開
'=    (ExpandEnvironmentStrings.bas)
'================================================================
#include "Windows.bi"

' 環境変数文字列を展開し、その文字列を定義された値に置き換える
Declare Function Api_ExpandEnvironmentStrings& Lib "kernel32" Alias "ExpandEnvironmentStringsA" (ByVal lpSrc$, ByVal lpDst$, ByVal nSize&)

Var Shared Text1 As Object
Var Shared Text2 As Object
Var Shared Button1 As Object

Text1.Attach GetDlgItem("Text1") : Text1.SetFontSize 14
Text2.Attach GetDlgItem("Text2") : Text2.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var EnvSrc As String
    Var EnvDest As String * 256
    Var Ret As Long

    '展開する環境変数文字列を設定
    EnvSrc = "%windir%"
    Text1.SetWindowText "展開する環境変数文字列:" & Chr$(13, 10) & EnvSrc

    '環境変数文字列を展開
    Ret = Api_ExpandEnvironmentStrings(EnvSrc, EnvDest, Len(EnvDest))

    '環境変数文字列を表示
    Text2.SetWindowText "展開された環境変数文字列:" & Chr$(13, 10) & Left$(EnvDest, InStr(EnvDest, Chr$(0)) - 1)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End