我有一个Windows上下文菜单项通过这些注册表项调用Windows窗体...HKLM\Software\Classes\*\shell\myappnameHKLM\Software\Classes\*\shell\myappname\command但是当我的Windows窗体启动时,我希望它位于调用上下文菜单的位置附近。有什么办法吗?我想我需要获取Windows事件的坐标并设置窗口位置? 最佳答案 最好的办法是使用MousePosition属性获取当前鼠标指针位置。这至少会减少用户移动鼠标与您的Windows窗体交互所需的距离。
我的应用程序类似于Spy++应用程序:我希望能够自动检索事件窗口(任何应用程序)及其子项的所有不同控件,并且对于每个控件,我想知道类型、名称、和值(标题或文本)。我正在使用C#windows应用程序。迭代前台窗口及其子项(等等)的所有控件并检索名称、类型和值的解决方案是什么? 最佳答案 要枚举顶级窗口,请使用EnumWindows(),要让他们的子窗口使用EnumChildWindows().使用枚举中的HWND,可以通过GetWindowText()读取带有标题栏值的顶级窗口,对于其他窗口,您可以使用WM_GETTEXT消息,或者
我正在尝试制作一个简单的应用程序,用于将Web浏览器控件指向我工作中的一些Web应用程序。我想要只有一个exe文件,但也有一个管理窗口来更改一些设置并让它们在应用程序关闭时保持不变。那可能吗?我查看了应用程序设置资源部分,但据我了解,这会生成一个加载设置的文件。我不想解析一个文件或只拥有一个文件,所以如果可能的话请不要建议这样做。 最佳答案 只需使用应用程序设置-这将创建一个文件,您无需进行任何解析,一切都很好。它将与exe文件分开,但除非你的意思是“一个文件”包含可执行文件并即时重写它,否则它应该很容易符合你的描述。例如,让我们构
我有一个已发布的Windows窗体应用程序,但最终结果不是我所期望的。向导完成后,我单击setup.exe,应用程序安装并启动,但我在“所有程序”中看不到任何快捷方式。该应用程序列在程序和功能中,但是当我关闭该应用程序时,没有图标可以单击以再次启动它。我在ProgramFiles和System32文件夹中搜索了一个可执行文件,但一无所获。所以我想做的是在安装过程中创建一个桌面快捷方式,或在“所有程序”中创建快捷方式。另外,如何分配将显示在任务栏中的自定义图标?谢谢,理胜 最佳答案 create-setup-and-deploymen
我为DataGridView上的CellFormatting事件添加了一个处理程序,以根据行的内容修改背景颜色。即使将数据插入表中,它似乎也没有触发。我通过在IDE中双击CellFormatting事件来添加事件处理程序,这似乎正确地创建了代码。privatevoiddataGridView1_CellFormatting(objectsender,DataGridViewCellFormattingEventArgse){//thisnevergetscalledMessageBox.Show("Eventfired");}我做错了什么? 最佳答案
如何以编程方式将应用程序添加到给定文件类型的“打开方式”菜单?例如我做了一个简单的文本文件查看器,我也做了同样的安装项目,我想将文本文件查看器与系统中的所有.txt文件相关联,当用户双击任何.txt文件时,我的应用程序应该打开。Openwithmenuhttp://i4.photoblog.com/photos/27294-1306838510-0.jpg 最佳答案 您可以为此使用这个很棒的类(class):http://www.mentalis.org/soft/class.qpx?id=5
我已经接管了对VB.NetWinForms应用程序的支持。通过ClickOnce安装安装此应用程序时,它会在桌面上生成一个快捷方式。但是,令人讨厌的是,如果您在创建的快捷方式上右键单击和属性,很明显它不是常规快捷方式,因为它没有目标选项卡,因此从快捷方式中看不出来此快捷方式引用的属性。所以我与此相关的问题是:这种捷径背后的想法是什么?为什么这种快捷方式的目标是隐藏的?(他们甚至叫什么?这是我第一次看到ClickOnce安装,所以当我发现缺少属性选项卡时有些惊讶。)你如何找出快捷方式引用的可执行文件? 最佳答案 ClickOnce快捷
我不明白为什么我可以使用Spy++获取某些Windows应用程序的句柄、窗口类等。例如,iexplore.exe,它只是不适用于url文本框或任何文本,如果加载页面中有编辑框区域;还有一些Windows应用程序我只得到外层的属性,而它的内部按钮、文本框或组合框是不可访问的。在这些应用程序中,我应该怎么做才能接触到它们?谢谢:) 最佳答案 这些程序使用无窗口控件。他们不使用标准的Windows控件,而是在一个巨大的容器中自行绘制和处理所有内容。 关于c#-Windows应用程序和Spy++
对于下面的代码:实际间隔始终是1014.01毫秒而不是1000毫秒...我也尝试过在C++中使用System.Windows.Forms.Timer、System.Threading.Timer和WinAPISleep(int)函数,但额外增加的14.01ms始终存在。Windows8的系统时钟是准确的,但.NET计时器和WindowsAPI的Sleep(int)函数都不准确。publicpartialclassForm1:Form{privatelongticks;publicForm1(){InitializeComponent();}privatevoidForm1_Load(o
我需要在.NETWindows应用程序中写入一些日志文本,然后将该文本显示给用户。我对创建日志文件的位置没有具体要求。最初我将日志文件写在与应用程序相同的文件夹中,但在某些计算机上,应用程序用户没有创建文件的权限...是否有一种机制可以在具有最低用户权限的某处创建日志(文本)文件? 最佳答案 可以写入当前用户applicationdata目录。用户应该在那里拥有完全权限。您可以使用请求路径(在.NET中)Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicat