C# 如何为外部应用程序窗口设置自定义鼠标光标?

C# 如何为外部应用程序窗口设置自定义鼠标光标?,c#,.net,windows,cursor,unity3d,C#,.net,Windows,Cursor,Unity3d,我有“process_name.exe”,希望为该进程的主窗口(不是.net托管应用程序)设置自定义光标。您不能更改其他应用程序的光标。每个应用程序都控制其光标。想象一下,如果有人到处更换应用程序的光标。Unity 4将提供硬件光标支持(目前在Unity 4 beta版中提供),因此,如果您可以等待,就不要太担心3.5软件光标问题 发件人: 引入了新的游标API: 游标API支持软件和硬件游标 在以下平台上支持硬件游标:Windows、Mac OS X、Linux、Flash 在项目的播放器

我有“process_name.exe”,希望为该进程的主窗口(不是.net托管应用程序)设置自定义光标。

您不能更改其他应用程序的光标。每个应用程序都控制其光标。想象一下,如果有人到处更换应用程序的光标。

Unity 4将提供硬件光标支持(目前在Unity 4 beta版中提供),因此,如果您可以等待,就不要太担心3.5软件光标问题

发件人:

  • 引入了新的游标API:
    • 游标API支持软件和硬件游标
    • 在以下平台上支持硬件游标:Windows、Mac OS X、Linux、Flash
    • 在项目的播放器设置中配置默认光标

或者,如果您需要立即解决方案,我相信Unity Asset Store当前正在销售硬件游标脚本。

欢迎使用Stack Overflow。请不要在问题标题中添加标签。还有,到目前为止您尝试了什么?我尝试过搜索,但只找到了system.windows.forms.cursor类或form.cursor属性。它们只能用于为当前应用程序设置自定义光标。我知道我需要为此使用一些windows api函数。我想知道哪些函数可以帮助我,以及如何应用它们。有可能,你需要使用windows挂钩。你不能用C#编写代码,需要一种类似C的语言来编写一个DLL,该DLL可以注入到你想要处理的进程中。在这里,最好的做法是首先专注于编写自己的程序,并了解更多有关Windows编程的信息。因此,你可以用适当的标签来回答一个可回答的问题。如果你使用一些Windows API调用,实际上是可能的。我知道这是可能的,因为我听说了C++应用程序做的是一样的(但是它们的源代码是不可访问的)。我在unity3d游戏中需要它(在unity3d中,无法设置自定义硬件光标)。Alvin Wong,我知道这一点。我的问题是我需要使用什么调用以及如何在c#中使用它们?不要这样做。他们使用的技术不受支持。当您的程序停止工作或导致其他程序崩溃时,您的客户将不会高兴。Oops。当我假设他们的C++应用程序从另一个进程设置游标时,我可能错了。我现在不知道它是如何工作的,但我知道他们可以在Unity中设置自定义硬件游标。我将尝试通过动态加载“presentationCore”程序集,从unity进程中找到一种方法来实现同样的目的。