请问比如我想调用如下的WinAPI
GetLogicalDriveStrings(DWORD nBufferLength,LPTSTR lpBuffer);
我看GetLogicalDriveStrings的解释,如果调用成功,会返回驱动器名称的若干个字符串,我在C#中进行如下调用: [DllImport("Kernel32")]
public static extern int GetLogicalDriveStrings(int nBufferLength, string lpBuffer);
string str = "";
MessageBox.Show(GetLogicalDriveStrings(125, str).ToString());
MessageBox.Show(str);结果GetLogicalDriveStrings返回32,str = "",应该是调用有问题,请问有人知道正确的调用方法么?谢谢
GetLogicalDriveStrings(DWORD nBufferLength,LPTSTR lpBuffer);
我看GetLogicalDriveStrings的解释,如果调用成功,会返回驱动器名称的若干个字符串,我在C#中进行如下调用: [DllImport("Kernel32")]
public static extern int GetLogicalDriveStrings(int nBufferLength, string lpBuffer);
string str = "";
MessageBox.Show(GetLogicalDriveStrings(125, str).ToString());
MessageBox.Show(str);结果GetLogicalDriveStrings返回32,str = "",应该是调用有问题,请问有人知道正确的调用方法么?谢谢
或者参考
http://www.pinvoke.net/search.aspx?search=GetLogicalDriveStrings&namespace=[All]// static extern uint GetLogicalDriveStrings(uint nBufferLength,
static extern uint GetLogicalDriveStrings(uint nBufferLength, [Out] char[] lpBuffer);
static extern uint GetLogicalDriveStrings(uint nBufferLength, [Out] char[] lpBuffer);
uint code = GetLogicalDriveStrings(size, buffer);
GetLogicalDriveStrings(sb.Capacity, sb);
MessageBox.Show(sb.ToString());这是MSDN推荐的标准方法
function() {
if ($("#defaultConfigForm").validate().form()) {
$('#btn_complete').attr( {
"disabled" : "disabled"
});
blockUI();
$.post('${ctx}/init/setConfig.do', $('#defaultConfigForm')
.serializeArray(), function(data) {
if (data == 'success') {
window.location = "${ctx}/security/login.do";
} else {
unBlockUI();
alert('系统初始化失败!');
$('#btn_complete').removeAttr("disabled");
}
});
}
});