是否有推荐的方法来阻止Windows屏幕保护程序启动?我发现的最接近的是这篇文章,但我真正想做的就是告诉Windows计算机不是空闲而不是愚弄当前设置的屏幕保护程序值.
我知道在Windows下设置线程名称的非直观过程(请参阅" 如何将名称设置为Win32线程? ").有没有办法获得线程的名称?我没有看到任何允许我这样做的Windows API(http://msdn.microsoft.com/en-us/library/windows/desktop/ms684847 ( v=vs.85 ) .aspx).
有没有人有一个示例显示如何在Windows PowerShell 3.0中覆盖TabExpansion2函数?我知道如何覆盖旧的TabExpansion函数,但我想在PowerShell ISE中提供intellisense的项目列表.我查看了TabExpansion2的定义,如何在tab扩展过程中注入自己的代码并不容易理解.
有没有办法通过Win32或.NET从Windows中获取用户的电子邮件地址?是否有包含此信息的注册表项或API?
编辑:如果我们的应用程序失败,我有一个应用程序通过电子邮件发送给我的公司,我想获得一个返回电子邮件地址,以便我们可以回复遇到崩溃的个人.我目前正在获取用户名,但这可能与电子邮件名称不符.显然我可以让用户输入他的电子邮件地址,但如果我至少可以尝试获取电子邮件地址并让用户验证返回电子邮件地址是否正确,那么界面会更友好一些.
我有一个用户的网络登录名.从PowerShell和WMI可以获得该用户的有效电子邮件吗?请注意,登录名与电子邮件中的名称不同,因此我不能只将登录名与电子邮件域相结合.
我有一个客户端,我们的应用程序的.msi安装程序有问题.WiX用于创建此安装程序.该应用程序已安装在许多其他机器上,但在他的机器上显示消息:
无法打开此安装包.请与应用程序供应商联系,以验证这是否是有效的Windows Installer程序包.
我的猜测是,这是以下两种可能性之一:
什么是最可能的可能性,还是有其他可能性我不知道?
我想我已经重新创建了用户的问题.如果,从命令shell,我运行MyFile.msi,然后它成功加载,然后我在日志文件中得到这个:
=== Verbose logging started: 2/12/2009 10:34:38 Build type: SHIP UNICODE 4.00.6001.00 Calling process: C:\Windows\System32\msiexec.exe ===
MSI (c) (F4:04) [10:34:38:795]: Resetting cached policy values
MSI (c) (F4:04) [10:34:38:795]: Machine policy value 'Debug' is 0
MSI (c) (F4:04) [10:34:38:795]: ******* RunEngine:
******* Product: C:\Users\kelley\Downloads\PixelActiveCityScape_v1_6_Demo.msi
******* Action:
******* CommandLine: **********
MSI (c) (F4:04) [10:34:38:802]: Machine policy value 'DisableUserInstalls' is 0
MSI (c) (F4:04) [10:34:38:830]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 3: 2
MSI …Run Code Online (Sandbox Code Playgroud) 我想在Windows机器上并排安装32位和64位版本的Python.默认目录是c:\ Python ?? 因为我必须修改一个或两个安装目录.我很想知道支持这两个版本的"标准"方式是什么?
如何将XML中的字符串序列化为类型的类属性Regex?
这是XML文件中的元素:
<IncludeRegex><![CDATA[#include\\s*\\\"\\s*(?<FileName>.+\\\\*\\.*.+)\\s*\\\"]]></IncludeRegex>
<IncludeDefineRegex><![CDATA[#define\s*[A-Za-z_0-9]+\s*\""\s*(?<FileName>.+\.[a-zA-Z0-9]+)\s*\""]]></IncludeDefineRegex>
Run Code Online (Sandbox Code Playgroud)
在我的班级,我序列化,我有这些属性:
public Regex IncludeRegex { get; set; }
public Regex IncludeDefineRegex { get; set; }
Run Code Online (Sandbox Code Playgroud)
该类的其余部分序列化没有问题,但Regex属性无法序列化.一种选择是具有替代属性:
public string IncludeRegex { get; set; }
public string IncludeDefineRegex { get; set; }
[XmlIgnore]
public Regex IncludeRegexActual { get; private set; }
[XmlIgnore]
public Regex IncludeDefineRegexActual { get; private set; }
Run Code Online (Sandbox Code Playgroud)
并在IncludeRegex和IncludeDefineRegex的setter或init函数中设置这些属性.这有效,但我可以在没有重复属性的情况下进行吗?
我有一个CLI/C++接口,我想通过.NET Reflection检查.这是源代码中的函数签名:
class ClassA;
template<typename _Type> class ClassTempA;
public interface class Test : BaseFunc {
public:
ClassTempA<int>& SomeFunc2(ClassA inst) = 0;
};
Run Code Online (Sandbox Code Playgroud)
这是在.NET Reflector中检查时函数的样子:
unsafe ClassTempA<int>* modopt(IsImplicitlyDereferenced) SomeFunc2(ClassA inst);
Run Code Online (Sandbox Code Playgroud)
有没有办法通过.NET反射获取modopt属性,还是必须使用元数据非托管API?
Windows窗体中的TreeView似乎总是希望在重新获得焦点时选择一个节点.如果我没有选择的节点,而树视图获得焦点,我会得到一个AfterSelect与选择的第一个节点事件,即使我没有使用键盘,鼠标,或以编程方式选择它.我能找到的唯一解决方法是检查是否TreeViewCancelEventArgs.Action等于TreeViewAction.Unknown然后取消选择.这看起来真的很hacky,所以我想知道是否还有另一种解决方法.
windows ×3
.net ×2
c# ×2
powershell ×2
winapi ×2
32bit-64bit ×1
c++ ×1
c++-cli ×1
corruption ×1
email ×1
installer ×1
python ×1
reflection ×1
regex ×1
screensaver ×1
tabexpansion ×1
treeview ×1
unmanaged ×1
windows-8 ×1
windows-xp ×1
winforms ×1
wix ×1
wmi ×1
xml ×1