3.Win32 API
(1) 動作
プログラムを立ち上げると、label1にWindows Directoryを表示する。
(2) Visual Basicの書き方
Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Const MAX_PATH = 260
Private Sub Form_Load()
Dim ret As Long
Dim strWD As String
strWD = Space$(MAX_PATH)
ret = GetWindowsDirectory(strWD, MAX_PATH)
Label1.Caption = Left(strWD, ret)
End Sub
(3) Visual J++の書き方
public class Win32
{
/**
* @dll.import("KERNEL32", auto)
*/
public static native int GetWindowsDirectory(StringBuffer lpBuffer, int uSize);
public static final int MAX_PATH = 260;
}
public Project1()
{
super();
initForm();
StringBuffer stbWD = new StringBuffer();
Win32.GetWindowsDirectory(stbWD, Win32.MAX_PATH);
label1.setText(stbWD.toString());
}
(4) Visual C++の書き方
BOOL CProject1Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
char WD[MAX_PATH];
GetWindowsDirectory(WD, MAX_PATH);
m_Label1 = WD;
UpdateData(FALSE);
return TRUE;
}