c#怎么获得桌面图标的位置,并让坐标动起来
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;
}
}
}
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;
}
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询