草庐IT

c# - 如何以编程方式最小化打开的窗口文件夹

如何获取已打开文件夹的列表、枚举并以编程方式最小化每个文件夹?有时,当从应用程序中的一种形式跳转到另一种形式时,一些打开的文件夹确实会从工具中窃取焦点。防止这种情况是我们客户的重中之重。客户是视障人士,因此他们只能通过屏幕阅读器访问机器。最小化其他窗口(文件夹)根本不是问题,实际上是必需的。我试过这个:foreach(ProcesspinProcess.GetProcessesByName("explorer")){p.StartInfo.WindowStyle=ProcessWindowStyle.Minimized;}正如预期的那样,它并没有什么好处。更新:根据这里的答案,我试过这

c# - 为什么通过 timeBeginPeriod 增加定时器分辨率会影响功耗?

我目前正在用C#编写一个应用程序,我需要在其中触发大约1秒的计时器。每5毫秒。从一些研究来看,执行此操作的最佳方法似乎涉及p/调用timeBeginPeriod(...)来更改系统计时器的分辨率。它在我的示例代码中运行良好。我在LarryOsterman的MSDN博客thisentry中发现了一个关于使用此函数的有趣警告。:Adam:callingtimeBeginPeriodincreasestheaccuracyofGetTickCountaswell.usingtimeBeginPeriodisahideouslybadideaingeneral-we'vebeenactivel

c# - C# 中的 Windows 8 任务管理器应用程序历史记录

我正在尝试从C#访问应用程序历史记录。我想提供与任务管理器中相同的信息,但找不到api/示例。当然,我实现了一个桌面应用程序。具体问题:我对CPU/RAM不感兴趣。我唯一想得到的就是时间。更新要准确显示我在说什么,请看这个屏幕: 最佳答案 没有支持的方法来获取此信息。对不起。 关于c#-C#中的Windows8任务管理器应用程序历史记录,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question

c# - 如何更改另一个程序的窗口大小?

如何从我的C#程序中更改另一个程序(比方说Skype的)窗口的大小? 最佳答案 您可以使用MoveWindow(其中hWnd是您要移动的窗口):[DllImport("user32.dll",SetLastError=true)]internalstaticexternboolMoveWindow(IntPtrhWnd,intX,intY,intnWidth,intnHeight,boolbRepaint);MoveWindow(ApplicationHandle,600,600,600,600,true);如果不知道窗口指针,可以

c# - 在 C# 中赢得 api。从 IntPtr 获取高位和低位字

我正在尝试在C#中处理WM_MOUSEMOVE消息。从IntPtr类型的lParam获取X和Y坐标的正确方法是什么? 最佳答案 尝试:(请注意,这是初始版本,阅读下面的最终版本)IntPtrxy=value;intx=unchecked((short)xy);inty=unchecked((short)((uint)xy>>16));通常不需要unchecked(因为“默认”c#项目未选中)考虑这些是所用宏的定义:#defineLOWORD(l)((WORD)(((DWORD_PTR)(l))&0xffff))#defineHIWO

c# - 通过 SendMessage 或其他方式异步 GetForegroundWindow?

有没有一种方法可以在焦点从任何窗口更改到另一个窗口(甚至在Windows应用程序之间)时得到通知,这样我就可以在用户更改焦点时立即调用我的委托(delegate)?我一直在想我可能只需要做轮询:(:(每1秒并调用GetForegroundWindow但我真的不想这样做。 最佳答案 SetWinEventHook()可能是你最好的选择;您可以监听EVENT_SYSTEM_FOREGROUND以监听前景窗口的变化-或者甚至监听EVENT_OBJECT_FOCUS以监听应用程序和控件内更精细的焦点变化。您需要将其与WINEVENT_OUT

c# - 以管理员身份运行 : requireAdministrator & ClickOnce + emulating system time

我的应用程序使用ClickOnce技术。今天我需要以管理员身份运行它。我修改了来自的list文件到但是VS无法编译项目:Error35ClickOncedoesnotsupporttherequestexecutionlevel'requireAdministrator'.我认为不可能同时使用它们。不是吗?我需要更改系统时间,我可以在应用程序级别进行吗?我可以模拟它吗,所以应用程序。可以做我想做的事。我将时间更改为+2小时,然后再放回去一秒钟。我有一些dll,他们需要时间。 最佳答案 实际上,您不能使用管理员权限运行ClickOnc

c# - 多个键盘和低级 Hook

我有一个系统,其中有多个键盘,我真的需要知道击键来自哪个键盘。解释设置:我有一台普通的PC和USB键盘我有一个带有一些硬键的外部VGA屏幕硬键被映射为标准USB键盘,发送有限数量的键码(F1、F2、Return、+和-)我有一个低级Hook(在C#中,但实际上调用了Win32功能),即使我的应用程序未获得焦点,它也能够处理输入。问题是,当使用普通键盘时,一些映射的键代码被外部屏幕上驱动的应用程序拾取。外部屏幕发送并用于确认的按键之一是VK_RETURN。除非我可以识别“设备”并对其进行过滤,否则用户可能正在执行操作并在屏幕上确认它们,他们甚至都没有看。我如何知道哪个键盘负责按键操作?

c# - 监视进程的网络使用情况?

在C#或C/C++和Win32中是否有一种方法可以监视某个进程的网络使用情况(显然您没有构建该应用程序)?我想只监视1个进程大约一个小时,然后返回仅由该进程使用的字节,例如limewire。这可能吗?我知道Windows上的netstat-e会告诉您发送/接收的总字节数,但这是针对所有进程的。编辑:如果我不能只返回一个进程使用情况,我如何才能获得整个系统发送/接收的字节数?正如netstat显示的那样,除了我只想要整数。例如:netstat-eReceivedSentBytes21115689261133174989Unicastpackets30164802711006Non-uni

c# - 从 .NET 设置系统时区

有没有人有一些代码可以从.NET获取TimeZoneInfo字段并执行互操作代码以通过SetTimeZoneInformation设置系统时区?我意识到它基本上是将TimeZoneInfo成员映射到结构成员,但对我来说这些字段将如何准确映射或者除了偏差之外我应该关心什么对我来说并不明显。 最佳答案 还有另一种方法可以做到这一点,诚然这有点hack,但在实践中效果很好:publicvoidSetSystemTimeZone(stringtimeZoneId){varprocess=Process.Start(newProcessSta