Articles of Windows Vista

哪里可以find漂亮的外观和Vista外观相似的用户界面图标?

好吧,我知道Visual Studio附带一些用户界面图标,但它们很less,最重要的是它们已经过时了,并且不适合Vista或者Seven。 我喜欢漂亮的界面,我喜欢界面,他们适合,看起来是操作系统的一部分。 其中一个关于这个问题的是界面图标,我无法在16×16(适用于菜单和工具栏)中find适合最新Windows版本的好图标。 大多数寻找免费的东西,但想知道商业(但不是很昂贵)的select。 有没有人知道任何好的图标,可以适应Vista /七?

在没有焦点时对键盘做出响应? (C#,Vista)

我试图编写一个应用程序,无论什么应用程序当前有焦点,每当按下Shift键时都会作出响应。 我尝试了SetWindowsHookEx()和GetKeyboardState() ,但是这两个只在应用程序的窗口有焦点时才起作用。 我需要它在全球范围内工作。 我该怎么做呢?

File.Exists对不存在的文件返回true

我正在一个应用程序保存Path.GetDirectoryName(FilePath)中的文件,其中FilePath = Application.ExecutablePath包含一些有关授权的信息。 如果我从VS运行程序,它的工作正常,但如果我做一个安装程序并安装,然后运行它,程序认为该文件已经存在。 我改变了我的程序显示在一个消息框我的FilePath和是否File.Exists(FilePath)返回true或false 。 所以我看了看那条路,启用了隐藏和系统文件,F5'd几次,什么也没有。 该文件不存在,但File.Exists(FilePath)返回true。 任何想法为什么冷这发生,我怎么能解决它? 我正在使用Windows Vista,Visual Studio 2010,C#,并使用VS的安装项目创build了我的安装程序。 编辑:我的path是: C:\ Program Files(x86)\ Helium \ License.xml 。 这是我的代码的一部分: MessageBox.Show("LicenseFileName: " + LicenseFileName); // LicenseFileName: C:\Program Files (x86)\Helium\License.xml System.Diagnostics.Process.Start(LicenseFileName); // Nothing happens MessageBox.Show("File.Exists(LicenseFileName): " + File.Exists(LicenseFileName)); // File.Exists(LicenseFileName): true 忘了说,我已经安装了应用程序之前,所以文件曾经存在。 我使用控制面板卸载。

Vista / win7应用程序音量控制界面

我应该使用哪个接口来控制Vista或Windows 7上的应用程序的音量? 编程语言并不重要。

是否有一个Vista的API来检测桌面是否全屏运行?

例如,用户正在全屏播放电影,还是在全屏模式下查看幻灯片? 我可以发誓之前,我看到一个IsFullScreenInteractive API,但现在找不到它

从Vista上的服务使用CreateProcessAsUser的桌面问题

我正在使用VC ++来使用CreateProcessAsUser从Vista上的服务创build一个进程。 当我通过本地机器上的login执行此代码时,进程创build成功。 当我使用远程桌面(mstsc)从另一台机器login到我的机器并启动我的应用程序时,相同的代码失败。 我可以理解,当我进行远程login时,活动桌面被视为远程桌面。 有人可以帮助我如何获得当前login用户桌面的桌面名称,而不是远程桌面的桌面名称。 这是我的代码 ACTIVECONSOLESESSIONIDFUNC lpfnProc; // WTSGetActiveConsoleSessionId function pointer HMODULE hModule = NULL; // Instance for kernel32.dll library DWORD dwSessionId = 0; // Session ID HANDLE hToken = NULL; // Active session token HANDLE hDupToken = NULL; // Duplicate session token WCHAR szErr[1024] = {0}; LPVOID lpEnvironment = NULL; // Environtment […]

以编程方式禁用/启用networking接口

我试图想出一个解决scheme,以编程方式启用/禁用网卡 – 我已经做了大量的研究,并没有什么似乎是在XP和Vista环境中可行的解决scheme。 我在说的是如果你进入控制面板的“networking连接”,右键单击并select启用或禁用。 理想情况下,我想使用一个库,但是如果情况变得更糟,我应该可以打电话给命令行应用程序,但这绝对是最坏的情况。 以下是我迄今为止所尝试的以及为何失败的原因: 此前一篇文章: 如何以编程方式启用/禁用networking接口? (Windows XP) 列出了几个方法 – 第一个是使用netsh,这与使用IPHelper函数SetIfEntry()相同。 与此问题是它将接口设置为Administratively启用或禁用,而不是正常启用/禁用,因此它不会实际closuresNIC。 另一个解决scheme是使用WMI,特别是Win32_NetworkAdapter类,该类有一个Enable和Disable方法: http://msdn.microsoft.com/en-us/library/aa394216(VS.85).aspx 很好吗? 在Vista中工作正常,这些方法不存在于一个正常的XP安装… 另一个build议是使用DevCon,它确实使用了SetupAPI,特别是SetupDiSetClassInstallParams()和DICS_ENABLE。 在花费了无数个小时之后,我们试图在全球范围内禁用/启用设备以及特定的configuration级别(以及每种组合),但是它并不总是有效 – 有时可以正常工作,禁用“设备pipe理器”中的设备,但仍将其保留并在“networking连接”中运行。 然后我尝试使用INetConnection接口,特别是INetConnection->连接/断开: http://msdn.microsoft.com/en-us/library/aa365084(VS.85).aspx 但我从来没有能够得到这个对我的Vista或XPtesting盒上的连接有任何影响。 最后,我发现这个名为ToggleNic的C#脚本: http://channel9.msdn.com/playground/Sandbox/154712/ 这看起来像是通过壳牌以某种方式有效地导致右键单击行为。 限制(至less在这个实现中)是,它不工作(没有修改)非英语系统,我需要我的工作。 公平地说,这个解决scheme看起来是最可行的,但是我对C#的熟悉程度很低,我无法find它使用的API在C ++中是否可用。 任何帮助或见解将不胜感激 – 或如何完成脚本脚本在C ++中所做的想法。 谢谢!

哪个是在WINDOWS中保存程序configuration文件的最佳位置?

我的程序需要一些configuration细节保存在.ini文件中。 这个程序也安装扩展到IE和Firefox,我也想从这些扩展名读取这些.ini文件。 如果我把.ini保存在“… AppData / Roaming …”中,保护模式下的IE扩展将不能读/写。 据我所知,只有AppData / LocalLow只能读取保护模式。 如果我将所有的configuration细节移动到这个“… AppData / LocalLoe …”它会一直工作吗? 这是标准的方式吗? 我写的所有东西都是在Vista环境下,是否可以与XP一起使用? Win7的?

虽然Eclipse和SDKpipe理器在Vista上以pipe理员身份运行,但Android SDK包安装错误

我正在运行Windows Vista,并在我的Android应用程序中出现错误,这是由Eclipse提供的: The container 'Android Dependencies' references non existing library 'C:\Program Files\Android\android-sdk\tools\support\annotations.jar' CornBoyzTutorial Build Path Problem 。 我进入'C:\ Program Files \ Android \ android-sdk \ tools`文件夹,看到没有support文件夹。 Eclipse的开始给了我This version of ADT requires Android SDK Tools 17 or above. Current revision is 16. Please update your DDK Tools to the latest version. This version of ADT requires […]

用户/密码问题与GetVolumeNameForVolumeMountPoint()(Windows远程驱动器挂载?)

在Vista工作站上,我有一个附带的XP Embedded计算机,我想以编程方式在本地安装卷(例如,将XP Embedded \\MyXPEmbedded\C:\some\path\安装到Vista工作站(安装到C:\mounted_XPEmbedded\ )。 (这是一个在Vista工作站上运行的pipe理工具,用于维护XP Embedded工作站上的文件,这是大型设备的一部分。) 我可以从Vista工作站上看到 XP Embedded计算机。 例如,我可以::getnameinfo()从其IP地址parsingXP Embedded计算机的名称。 但是,所有对GetVolumeNameForVolumeMountPoint()调用都会失败(返回false ),格式为::GetLastError()消息为: Logon failure: unknown user name or bad password 很显然,这似乎是一个权限问题。 但是,我没有在Microsoft API中看到如何通过这些卷GUIDpathAPI提供用户/密码。 当通过在地址栏中inputXP Embedded机器的IP地址从Vista工作站上的Windows资源pipe理器“浏览”XP Embedded时,系统会提示input用户名和密码,之后可以看到XP Embedded上的所有内容( 呃!我如何提供这个编程?) 问题:如何在使用GUIDpathAPI(特别是::GetVolumeNameForVolumeMountPoint() )时以编程方式提供用户login名/密码? 部分问题可能是这些计算机不共享相同的域(它们不能,Vista计算机将被添加到客户的域中,XP Embedded必须“隐藏”)。 其他信息,这可能不重要: Vista工作站和XP Embedded不共享相同的域(他们不能) 应用程序运行在Vista工作站下的帐户与pipe理权限(我认为这是必需的?) 在XP Embedded计算机上不存在Vistapipe理帐户(XP Embedded具有不同的pipe理帐户) 两台计算机之间的时钟是最新的(安全凭证应该工作) Vista工作站有两个网卡,一个网卡直接连接到只有一个网卡的XP Embedded机箱 使用C ++,MSVS2008 红利问题:如果我可以在没有pipe理权限的情况下在Vista工作站上运行这个pipe理工具,这将是一件好事,这是可能的吗? (我知道embeddedXP的pipe理login/密码。)