Tag: windows vista

如何以编程方式创建在XP,Vista和Windows 7中工作的文件关联

我希望能够从我的程序中注册我的文件扩展名。 (将文件类型与我的程序关联) 有很多关于此的文章,但据我所知,所讨论的技术(摆弄注册表)仅适用于Windows XP。 将文件类型与程序关联以使其在XP,Vista和Windows 7下运行的最佳方法是什么? (有没有工作代码示例?) ClickOnce是一个选项,但这只在安装时注册文件类型,而我希望能够在运行时注册文件类型。

C#Windows7 / Vista风格ListView

当我在VS2008的详细信息视图中创建ListView时,它会创建一个相当古老的列表视图。 它没有任何花哨的hover效果和酷蓝色边框(例如)WinVista和Win7中的文件浏览器。 见图片例如: 总结一下,如何才能在C#VS2008中获得一个ListView,如上图所示? (VS2008右侧列表视图进行比较) 谢谢

如何在Windows Vista / 7的“默认程序”列表中添加我的应用程序?

如此多的程序在“默认程序”控制面板小程序下提供了可能的扩展和协议列表。 更确切地说,“设置默认PRogram”。 (Vista和7) 我希望在该列表中添加我的程序并设置它可以处理的一些扩展。 还有一件事。 我的程序支持用于打开更多文件的插件,因此列表应该是动态的(我可以随时添加更多扩展甚至协议) 顺便说一下,是的,我知道,这不是一个编程问题。 这是我的谦虚猜测,这是一个注册问题。 所以UAC不会成为问题!

如何使用C#获取硬盘序列号?

如何在不使用dll的情况下获取硬盘序列号并由VISTA支持

如何在.NET / C#中以编程方式为我的应用程序创建快捷方式(.lnk)添加快捷方式(.lnk)

我的应用程序将有一台每台机器(不是每个用户)启动快捷方式。 我可以在安装过程中创建快捷方式没问题。 当用户稍后删除它然后尝试重新启用时,我的问题就来了。 换句话说,他们会关闭RunOnStartup(删除Startup墨水),稍后他们会决定是否希望它在启动时运行,以便返回首选项并重新启用。 显然,这是一个非常普遍的抱怨.NET,没有一种本地方法来创建快捷方式。 但是,还没有找到一个很好的解决方案。 我发现/考虑的解决方案: 而不是创建一个快捷方式。 只需复制一份。 这可能是一个很好的解决方案。 我不能依赖于有一个开始菜单链接。 但是,我想我可以创建一个并将其保存在程序目录中……这会将问题转移到我的安装程序,以便必须使用在安装时指定的相应路径创建快捷方式。 执行此其他stackoverflow的答案并使用COM包装器对象。 我想避免COM。 它也写于2003年。所以,我不确定它将如何支持vista。 我会试一试,但没有方便的远景盒。 请改用注册表。 这就是我目前的做法……但是在Vista上遇到了问题。 似乎普遍的共识是,启动菜单快捷方式是正确的方法,这就是我的目标。 此外,我必须处理普通用户(而非管理员)尝试更改此首选项的情况。 在这种情况下,我需要优雅地失败,或者在vista的情况下允许用户输入管理员密码以获取管理员安全令牌。 已经适当考虑这个案例的答案将是非常棒的。 如果已经涵盖了这个主题,我道歉。 我在发帖前四处搜索。 更新 :复制安装程序创建的快捷方式是最佳解决方案。 我将发布代码一旦完成…遇到一些障碍与a)Environment.GetSpecialFolder没有引用已解决的StartMenu …但是,现在我正在处理提升权限将文件复制到适当的位置。 我为此主题创建了一个新的stackoverflow问题: 如何通过提示用户输入管理员凭据,将文件复制为Vista中的“标准用户”(即“管理选择应用程序”)?

Windows Vista:无法加载DLL“x.dll”:对内存位置的无效访问。 (DllNotFoundException)

我今天下午正在客户的盒子上测试它有Windows Vista(他有家,但我正在测试商业版,结果相同)。 我们使用.DLL获取计算机的硬件ID。 它的用法很简单,我创建的示例程序也很有效。 这是来自AzSdk的Dll。 事实上,这在Windows XP下完美运行。 但是,由于一些奇怪的原因,在我们的项目中(方式更大),我们得到了这个例外: Exception Type: System.DllNotFoundException Exception Message: Unable to load DLL ‘HardwareID.dll’: Invalid access to memory location. (Exception from HRESULT: 0x800703E6) Exception Target Site: GetHardwareID 我不知道是什么导致了这个问题,因为我可以完全控制文件夹。 该项目是ac#.net Windows窗体应用程序,除了调用外部库外,一切正常。 我这样声明:(注意:它不是 COM库,也不需要注册)。 [DllImport(“HardwareID.dll”)] public static extern String GetHardwareID(bool HDD, bool NIC, bool CPU, bool BIOS, string sRegistrationCode); 然后调用代码非常简单: private void button1_Click(object […]

在c#中将文件保存到应用程序数据

我使用以下方法将文件保存到c#中的文件夹Application Data string path = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); 它在Windows XP中运行良好,但我找不到这样的文件夹路径我Windows Vista。 此文件夹位于Vista中的哪个位置,如何将文件保存到此文件夹

为什么RequestAdditionalTime()方法不能在Vista / 7中重启?

我一直在对我用C#.Net 3.5编写的Windows服务进行一些广泛的测试。 我无法让Windows给我足够的时间让我的服务在我重新启动或关闭计算机时正常关闭,即使我正在调用RequestAdditionalTime()方法,它应该更新SCM并保持我的服务运行。 如果我手动停止服务,我的代码可以正常工作。 我主要是在Windows Vista和Windows 7中测试此代码,在决定在Windows XP中测试代码时,一切都运行得很好。 有谁知道为什么这个电话在Vista / 7中不起作用? 我想我需要某种权限来保持系统不会关闭我默认在Xp中但不在Vista / 7中。

避免在C#/ .NET中“程序停止工作”

我有一个用C#/ .NET编写的控制台应用程序,我想从脚本(nant)运行。 如果在控制台应用程序中发生exception,我不想继续,但在Windows Vista中有一个弹出窗口,它会搜索解决方案并要求调试等。 当控制台应用程序中发生exception时,我想避免使用“程序停止工作”的弹出窗口。 如何从C#/ .NET控制它? (类似的问题解决了C语言的问题 ,但我想要一个C#/ .NET的解决方案。) (澄清一下:我希望将exception传递给nant,但没有弹出窗口。)

在Windows Vista / 7 Aero Titlebar上绘制自定义按钮

我在StackOverflow上发现了这个问题。 基本上,用户想要在标题栏上绘制自定义按钮。 我尝试了代码,并且只有在禁用Aero时才能在vista / 7中实现它。 我的问题是,在启用aero的同时 ,有没有办法在标题栏上绘制自定义按钮? 此外,有没有办法从当前主题中读取信息,所以我可以设置我的按钮样式以匹配现有的按钮。 更新 这是我的计算机的屏幕截图,展示了上述概念。 安装DisplayFusion后,我得到了额外的标题栏按钮。 我知道DisplayFusion是一个.NET程序,因为它在.NET Reflector中打开。 缺点是程序被混淆了。 不喜欢我想反编译程序或任何东西; 我只想在标题栏上添加一个按钮来执行其他操作(例如,最小化到系统托盘)。 下面是截图,certificate该程序是一个.NET应用程序。