c#怎么获得桌面图标的位置,并让坐标动起来

2025-06-28 01:04:53
推荐回答(1个)
回答1:

调用window api... [DllImport("User32.dll ", EntryPoint = "FindWindow")]
private static extern int FindWindow(string lpClassName, string lpWindowName);

[DllImport("user32.dll ", EntryPoint = "GetSystemMenu")]
extern static IntPtr GetSystemMenu(IntPtr hWnd, IntPtr bRevert);

[DllImport("user32.dll ", EntryPoint = "RemoveMenu")]
extern static int RemoveMenu(IntPtr hMenu, int nPos, int flags);

static void Main(string[] args)
{
//这里是其他应用程序的标题。如windows任务管理器的话为 "Windows 任务管理器",注意空格。全角还是半角,坐标的话再继续查看windows api相关函数。该例子为禁用窗口的关闭按钮。
string fullPath = System.Environment.CurrentDirectory +"\\ConsoleApplication1.exe";
//根据控制台标题找控制台
int WINDOW_HANDLER = FindWindow(null, fullPath);
//找关闭按钮
IntPtr CLOSE_MENU = GetSystemMenu((IntPtr)WINDOW_HANDLER, IntPtr.Zero);
int SC_CLOSE = 0xF060;
//关闭按钮禁用
RemoveMenu(CLOSE_MENU, SC_CLOSE, 0x0);

//使用命令关闭
while (true)
{
if (Console.ReadLine().ToLower() == "exit")
{
return;
}
}
}