如何改变桌面屏幕分辨率
我想在桌面应用程序中使用C#代码更改屏幕分辨率. 解决方案 这与"我想更改时钟"或"我想更改用户密码"或"我想更改Windows主题"的问题类似.应用程序没有业务进行此类系统配置更改,因此,它没有由.NET框架包裹. 您可以做到,但是需要P/Invoke.使用其他解决方案 您不能通过在C#/.网中的类中构建来做到这一点,但是您可以通过win api进行,可以解释在这里.然后转到pinvoke.net或手动创建您的P/调用方法.
8 2024-04-26
编程技术问答社区
在一个Windows客户端上使用多个光标,怎么可能行得通?
我最近搜索了Web以寻求多核解决方案,并在给定窗口中发现了许多可能模仿光标的可能性,例如我几乎放弃了,以为Windows架构使它变得不可能,但是后来我找到了上整个桌面上的不同用户.如果那是真的,则可以得出结论,可以模仿多个用户,从而使多个光标解决方案成为可能. 所以我的问题是: 这里有人在这里使用MultiMOUSE,并且确实有效地工作吗? 它是如何工作的,有人可以使用Windows API,还是需要重新配置Windows进行操作? 您对如何绘制和指挥Windows 7上的多个光标有什么想法?问题是,只有一个鼠标指针.有人可以更改它,还是远程应用程序在做什么?我的意思是,仅向光标(全球)显示并自动控制它们就足够了. 我可以自由使用任何Interop技术,无论它们有多脏,因为如果我的应用仅在Windows 7上运行.有人知道可以提供此类功能的Windows库吗?可悲的是,Windows API的记录不佳. 编辑: 在下面,我将解释Windows消息的部分工作方式,但
26 2024-04-25
编程技术问答社区
使用C#在桌面上绘图
我正在尝试使用C#在桌面上绘制矩形.找到一些解决方案后,我得到了这些: using System; using System.Drawing; using System.Runtime.InteropServices; using System.Windows.Forms; namespace Test { public partial class Form1 : Form { [DllImport("User32.dll")] public static extern IntPtr GetDC(IntPtr hwnd); [DllImport("User32.dll")] static extern int ReleaseDC(IntPtr hwnd, IntPtr dc); public Form1() { InitializeCompon
24 2024-04-25
编程技术问答社区
在Windows 10桌面上初始化一个NDEF标签
我试图将新的Mifare经典标签初始化为DNEF格式,可通过接近API读取. 根据Microsoft的说法,如果需要,接近API能够将Mifare经典标签初始化为NDEF格式(如所述在这里和在这里). 但是,使用此代码来发布消息: proximityDevice.PublishBinaryMessage("NDEF:WriteTag", ndef.ToByteArray().AsBuffer(), MessageTransmittedHandler); 不要初始化标签并写任何东西,只能在预先格式的NDEF标签上使用(例如,由Android手机完成). 有什么方法可以将标签初始化为Familly台式机上的NDEF格式,作为NFC读者/作家的接近设备? (nxp近菲尔德普罗ximity提供商) 更新: 我从 onovotny 中找到了.net的mirafe api 到Mifare卡,支持我正在使用的WinRT SmartCard框架. 当试图登录
24 2024-04-25
编程技术问答社区
应用程序在一个单独的桌面上自行运行
尝试创建一个WPF Caliburn Micro应用程序,该应用程序创建单独的桌面并在此处显示其主窗口. 问题:创建台式机并在那里切换后,没有显示窗口. namespace WpfThreads { class AppBootstrapper : Bootstrapper { protected override void OnStartup(object sender, StartupEventArgs e) { var desktop = Native.CreateDesktop("NewDesktop", 0, 0, 0, DESKTOP_READOBJECTS | DESKTOP_CREATEWINDOW | DESKTOP_CREATEMENU | DESKTOP_HOOKCONTROL | DESKTOP_JOURNALRE
18 2024-04-25
编程技术问答社区
在另一种形式中使用一个方法的值
我有以下方案:我制作的程序具有三种类型的用户帐户:超级用户,管理员和顾问. 登录表单运行良好,通过一种方法,我可以获取用户的类型并打开所述用户的各个主要形式. 问题是:用户共享一些表格.但是,我不知道如何让应用程序知道它必须根据用户返回的三种主要形式中的哪一个. 问题是:有一种方法可以使值(用户类型)从登录表单中使用并在其他表单上使用? 这是我在数据库中获取类型值的方式: public string sacartipo() {string tipo = ""; username = usuario.Text; obj.Usuario = usuario.Text; password = contra.Text; obj.Contrasena = contra.Text; tipo = obj.Logeo(username, password); re
6 2024-04-24
编程技术问答社区
Microsoft Outlook的Office 365在哪里保存个人资料信息?
我正在在C#上创建一个与Outlook Desktop Client一起使用的程序.我需要将所有配置文件添加到Outlook. 我发现Outlook将此信息保存在注册表密钥HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Outlook\Profiles\ 中 但是在我的组织中的计算机上,我们没有此密钥,搜索被停止在HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\ 上 在Outlook中,我添加了一些电子邮件地址并设置默认签名.因此,我们在某个地方有此信息,但我找不到. 某人知道我如何获得此个人资料信息的替代地点或方式. 我们使用Microsoft Outlook进行Office 365 MSO(16.0.12325.20280)32位. 解决方案 Outlook 2013及以上: Software\Microsoft\Office\
12 2024-04-22
编程技术问答社区
我怎样才能用c#创建窗口站和窗口桌面?
我想创建新的窗口站和Windows桌面,然后将我的进程附加到它.我该怎么做 我需要知道 创建窗口站并连接我的桌​​面 有效地在桌面之间创建和切换 如何将过程连接到Winlogon桌面(如果可能的话) 销毁创建的桌面,然后返回Windows桌面 解决方案 每个"会话"只有一个交互式窗口站,但是您可以有多个会话. 我不知道直接创建登录会话的API,但是如果您使用的是Windows Server版本,则可以使用远程桌面创建本地会话,请在此处自动启动您的程序,然后在程序结束后再次注销(完成后,您在远程桌面会话中运行的程序可以注销). 下面的代码将使用MSTSC ActiveX控件来编程创建RDP会话.您将需要手动生成ActiveX存根并将其添加到您的项目中. 来自Visual Studio命令提示符类型: aximp.exe %windir%\system32\mstscax.dll 将生成的文件(mstsclib.dll和axmsts
12 2024-04-22
编程技术问答社区
如何将一个项目添加到桌面的右键菜单中?
我有一个在后台运行的应用程序,并以设定的间隔更改用户的桌面背景.我想使用户右键单击桌面背景,并可以选择下载照片或前进到下一个背景,此外,除了普通的Windows右键单击选项.有什么方法可以在C#中做到这一点? 目标操作系统是Windows 8.1,但是如果它可以在几个版本的Windows上使用,那将是很棒的. 感谢Kennyzx建议 解决方案 您应该在设置和部署项目中执行此操作. 此文章显示了在桌面上下文菜单中添加菜单选项的步骤 其他解决方案 最简单的方法是编辑注册表HKEY_CLASSES_ROOT\DesktopBackground\shell如下所述.
14 2024-04-22
编程技术问答社区
c#屏幕捕捉虚拟桌面
我找到了一种使用C#创建虚拟桌面的方法.现在,我想知道我们是否可以屏幕截图,如果是这样,请如何? 预先感谢 blizz 解决方案 您是否尝试过GFX对象中的CopyFromScreen方法 Graphics g = new Graphics(); g.CopyFromScreen( ....params.... ) 其他解决方案 我没有尝试过,但是我尝试的第一件事是: 创建一个新线程 通过调用setThreadDesktop 将线程切换到新桌面 拍摄屏幕截图 开关线程 可能只是工作.
16 2024-04-22
编程技术问答社区
在C#/.Net中创建/切换桌面
我目前正在使用CreateSktop本机C函数,并在我的C#代码中调用它以在台式机之间创建和切换.是否有任何方法可以使用过程类或任何C#/.网络类来执行此操作? 这是我现在在课堂上使用的示例代码. [Flags] public enum AccessRight : uint { DESKTOP_READOBJECTS = 0x00000001, DESKTOP_CREATEWINDOW = 0x00000002, DESKTOP_CREATEMENU = 0x00000004, DESKTOP_HOOKCONTROL = 0x00000008, DESKTOP_JOURNALRECORD = 0x00000010, DESKTOP_JOURNALPLAYBACK = 0x00000020, DESKTOP_ENUMERATE = 0x0000
22 2024-04-21
编程技术问答社区
我应该用VB.net还是C#来做桌面应用程序?
im来自没有GUI经验的Unix/server/c ++/java背景 我需要构建Windows GUI应用程序,我需要快速构建它,我被告知 .NET家族是此类工作的确切之处. 但是有vb.net和c#我应该选择什么更快,更好的工作? 没有教学用户可以更容易安装,我可以部署最终产品 解决方案 就可用的而言,它们完全相同. 也就是说,如果您来自C ++/Java背景,我会建议C#,因为学习曲线要​​小得多,您将不需要学习一个全新的语法. 就部署而言,使用OneClick(如果适用)的.NET应用程序非常容易使用非技术用户.它归结为"转到我的网站,然后单击"安装"按钮".从开发人员的角度来看,通常也不比这更困难. Visual Studio也有制作传统安装软件包的选项. 其他解决方案 简短的答案是无关紧要. 在功能方面,.NET框架提供了基类库,运行时环境等.您可以使用所选择的任何语言.您可以使用vb.net,c#或任何其他一流的.NET语言来完成此操作.
12 2024-04-21
编程技术问答社区
Windows安全登录表?
您知道Windows Live的外观很棒的形式,要求您​​提供您的cerdentials吗? 有什么办法可以在应用程序中调用类似的东西? 看! 我希望将此对话框用于桌面应用程序上的本地身份验证. 解决方案 您可以考虑调用CredUIPromptForWindowsCredentials: 来自 msdn /p> Creduipromptforwindowscredentials 功能创建并显示 可配置的对话框,允许 用户提供凭据信息 通过使用任何凭证提供商 安装在本地计算机上. 但是,除了简单地显示对话框和接收/行动的不仅仅是您在系统上注册身份验证提供商,除此之外,我很可能没有完全有能力解释任何细节! 可能会给你一个不错的起点. 更新: oded弥补了我的懒惰,并提供了Pinvoke.net链接,显示了用于托管环境中的定义:
12 2024-04-21
编程技术问答社区
在Win 7中 "钉在桌面上",与XP兼容
使用Findwindow + SetParent方法或其他在XP中起作用的其他方法,我如何在Win 7中实现"销钉到桌面"效果(即针对" Show Desktop"命令的免疫)? 我知道我可以创建一个小工具,但是我想与XP互相兼容,在那里我的代码很好: IntPtr hWnd = FindWindow(null, "Untitled - Notepad"); IntPtr hDesktop = FindWindow("ProgMan", "Program Manager"); SetParent(hWnd, hDesktop); 解决方案 在我的WPF应用中,我能够使用计时器来解决它,它在XP和Win 7中都起作用. public MainWindow() { InitializeComponent(); // have some timer to fire in every 1 second DispatcherTimer detectSho
6 2024-04-21
编程技术问答社区
如何在显示桌面/最小化所有/最小化所有窗口时通知我的应用程序?
当显示桌面/最小化所有/所有Windows时,如何使用C# 将所有窗口最小化时如何通知我的应用程序 解决方案 以下可能会让您入门.这只是其中的标准表单(名为ListMessages).当我执行桌面最小化/showall时,该表单会捕获WM_Size消息并将消息M值输出到列表框.您的表格可能无法响应典型的最小化和最大化事件,但应从Windows消息泵中接收这些消息.至于检测是否显示了任何其他窗口,这些窗口涉及更多,但也可以完成.... using System; using System.Windows.Forms; namespace MinimizeAll { public partial class Form1 : Form { private const int WmSize = 5; private const int SizeRestored = 0; private const int SizeMi
24 2024-04-19
编程技术问答社区
简单的C#屏幕共享应用程序
我希望在C#中创建一个非常基本的屏幕共享应用程序.无需遥控器.我只希望用户能够将其屏幕广播到网络服务器. 我应该如何实施? (任何朝正确方向的指针都将不胜感激). 它不需要高fps.甚至足以更新5s左右.您认为只有5秒钟将屏幕截图上传到我的Web服务器是足够的吗? 解决方案 我以前在博客上写过关于远程屏幕共享软件在此处如何工作,它不是特定于C#的,但对该主题提供了良好的基本理解.该文章中还链接的是远程帧缓冲区规格,您也可能想阅读. 基本上,您需要进行屏幕截图,并且可以传输这些屏幕截图并在另一侧显示它们.您可以保留最后一个屏幕截图,并将屏幕截图比较块中,以查看您需要发送的屏幕截图块.您通常会在发送数据之前进行某种压缩. 要拥有遥控器,您可以跟踪鼠标移动并传输它,并将指针位置设置在另一端.还同时同上击键. 就压缩而言,您可以简单地使用 jpegbitmapencoder 用您想要的质量创建jpeg压缩的屏幕截图. JpegBitmapEncoder
18 2024-04-18
编程技术问答社区
如何从网页javascript应用程序中获得桌面c#程序中的变量
我遇到了一个问题,有两个应用程序.一个是C#中的桌面应用程序,另一个是JavaScript中的Web应用程序.运行桌面应用程序中需要一些变量或信息传输到Web应用程序. 有人知道如何解决这个问题吗? 有人想提供更多细节来解决这个问题吗? 问: 解决方案 打开Web应用程序时,将变量传递为其他解决方案 我认为这些过程非常分开,除非您使用唯一的处理程序作为C# + JS(例如,C#.NET来渲染您的页面),将不可能检索数据. . 也许您可以从WebBrowser对象中获得一些东西:在页面上运行它,您可能会访问某些Web变量... 另外,如果C#App在文件中写入数据,则JS可以读取它... 玩得开心 RGD
8 2024-04-17
编程技术问答社区
C# 在桌面上定位窗口
可以说我在C#中有一个普通的窗口.它没有边框样式,因此无法移动或调整大小等.我将如何定位该窗口,以使其与桌面或上面的窗口相同? 喜欢小部件或雨对皮肤.有什么想法吗? 解决方案 如果我正确理解您并且您想在桌面上绘制桌面,那么这可能会有所帮助: http://www.neowin.net/forum/forum/lofiversion/index.php/t293883.html [DllImport("user32.dll", CharSet=CharSet.Auto)] public static extern IntPtr FindWindow( [MarshalAs(UnmanagedType.LPTStr)] string lpClassName, [MarshalAs(UnmanagedType.LPTStr)] string lpWindowName); [DllImport("user32.dll")] public static extern
16 2024-04-14
编程技术问答社区
如何使用电源管理功能(PowerEnuimerate)来获取电源设置
我需要我的应用程序来读取系统将等待的时间,然后再关闭显示屏,睡觉或进入Hibernate.据我所知,我需要使用电源管理功能( http://msdn.microsoft.com/en-us/library/aa373163%28v = vs.85%29.aspx ),尤其是我看起来需要使用powerEnumerate方法( http://msdn.microsoft.com/en-us/library/aa372730%28V = vs.85%29.aspx ). 我真的很困惑如何做到这一点.首先,我在C#中进行此操作,并且代码看起来为C ++.其次,C ++代码似乎并没有真正告诉您如何专门阅读我想要的不同时间. 注意,我是Windows编程和C#的新手.我的大部分经验都是在Java和Android中. 谢谢 解决方案 我找到了 MSDN上的示例用于在VB中使用PowerEnumerate函数. 我将示例转换为C#,并将友好名称添加到循环中每个视频设置的输
42 2024-04-13
编程技术问答社区
如何从WPF应用程序中检测到锁定此计算机的命令?
希望使用WPF(Windows表单也可以)在C#,.NET 3.5中答案 我的应用程序本质上是工具栏窗口或托盘图标.它需要检测用户是否锁定他/她的工作站并走开,以更新集中式系统中的人的状态. 我可以使用SystemEvents轻松地检测会话交换机或注销,但是我无法确定如何在锁定上检测或接收事件. 感谢您的任何帮助. 解决方案 当您处理 using Microsoft.Win32; // ... // Somewhere in your startup, add your event handler: SystemEvents.SessionSwitch += new SessionSwitchEventHandler(SystemEvents_SessionSwitch); // ... void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e) { switch(e.Reas
16 2024-04-13
编程技术问答社区