如何使用VB.NET代码关闭监视器?好的,实际上我找到了C#解决方案.但我需要VB.NET解决方案.我尝试过在线C#到VB.NET转换器,但转换器抱怨它有错误.
如何将以下C#代码转换为VB.NET?
using System.Runtime.InteropServices; //to DllImport
public int WM_SYSCOMMAND = 0x0112;
public int SC_MONITORPOWER = 0xF170; //Using the system pre-defined MSDN constants that can be used by the SendMessage() function .
[DllImport("user32.dll")]
private static extern int SendMessage(int hWnd, int hMsg, int wParam, int lParam);
//To call a DLL function from C#, you must provide this declaration.
private void button1_Click(object sender, System.EventArgs e)
{
SendMessage( this.Handle.ToInt32() , WM_SYSCOMMAND , SC_MONITORPOWER ,2 );//DLL function
}
Run Code Online (Sandbox Code Playgroud)
更新:
我使用在线开发者Fusion转换器.
我想在应用程序启动时添加调整屏幕gamma的功能,并在退出时重置它.虽然人们是否应该篡改伽玛是有争议的(个人我发现它毫无用处和有害),但是嘿,有些人希望能够做那种事情.
这只是一个简单的API调用,所以这很容易,对吧?
MSDN说:"伽马斜坡在三个256个WORD元素阵列中指定,每个值必须存储在每个WORD的最高有效位中,以增加DAC的独立性." .在我的理解中,这意味着,word_value = byte_value<<8
听起来很奇怪,但这就是我读它的方式.
Doom3源代码包含一个函数,它接受三个char
值数组并将它们转换为一个uint16_t
值数组,这些值在上半部分和下半部分都具有相同的字节值.换句话说就像word_value = (byte_value<<8)|byte_value
.这同样很奇怪,但更糟糕的是它与上面的不一样.
互联网上还有一些代码片段在各种爱好程序员网站上(显然是一个从另一个被盗,因为它们与字母相同),这些代码片段做了一些模糊的数学运算,将线性指数乘以一个值,偏差为128,并且夹到65535.我不太确定这是什么,但对我来说这看起来完全是胡说八道,而且它与上述两者中的任何一个都不一样.
是什么赋予了?必须明确定义 - 不要猜测 - 您提供的数据必须如何?最后,人们会做的是读取原始值并让用户无论如何调整一些滑块(并且可选地使用用户的配置将该blob保存到磁盘),但仍然......为了修改这些值,需要知道他们是什么,期待什么.
有人做过(并经过测试!)之前知道哪一个是对的吗?
如果'windows power management'关闭了显示屏,我如何以编程方式检查Windows 7和XP?(如果我能收到一个活动,那会更好.)
我开发了一个Web应用程序来显示幻灯片,并希望在Windows 10上使用IE的Kiosk模式在我的辅助显示器(通过HDMI连接)上显示它.由于共享服务器上的CPU和其他资源,我想暂停幻灯片放映时显示器已关闭.(因此没有人看到它)
有没有办法从Internet Explorer检测连接的显示器?由于这是一个单独的自助服务终端设置,因此可以使用附加组件等.触发javascript/jquery事件将是理想的.谢谢!
winapi ×3
c# ×2
.net ×1
c++ ×1
gamma ×1
javascript ×1
jquery ×1
kiosk-mode ×1
python ×1
screen ×1
vb.net ×1
windows-7 ×1
windows-xp ×1