我尝试通过 kernel32.dll 导入和函数 SetComputerName 更改主机名。设置计算机名称函数
主类:
namespace Castell
{
class Program
{
private static string hostname { get; set; }
setHostname();
private static void setHostname()
{
hostname = "TEST123456789";
int errorcode = ImportDLL.SetComputerName(hostname);
Console.WriteLine(Marshal.GetLastWin32Error());
}
}
}
导入类:
namespace Castell
{
class ImportDLL
{
[DllImport("Kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern int SetComputerName(string hostname);
}
}
Marshal.GetLastWin32Error() 的结果是“6”。这意味着: ERROR_INVALID_HANDLE 6 (0x6) 句柄无效。
不知道手柄有什么问题。