Articles of c + +

提取Windows文件属性(自定义属性)C#

在Word / Excel中,您必须有可能添加自定义属性。 (见图) 自定义属性 。 正如你们可以看到有一个字段:“属性:”,你可以添加你想要的任何信息。 保存文件并转到文件夹中的文件位置时,可以右键单击 – >属性,并具有所有选项卡:常规/安全/详细信息/以前的版本。 与您添加选项卡自定义的function。 现在我想通过编码来获取这些信息: 自定义属性信息 。 并稍后提取到记事本。 到目前为止,我使用了Shell32但是我只能得到详细信息选项卡中的信息。 我做了一些研究,并看到DSOfile.dll一些可能性。 但是我想知道是否有可能做到这一点,而无需安装其他DLL? 这是我到Shell32代码。 static void Main(string[] args) { //using (StreamWriter writer = new StreamWriter(@"filepathhere")) //{ //Console.SetOut(writer); ReadProperties(); //} } static void ReadProperties() { List<string> arrHeaders = new List<string>(); Shell shell = new Shell(); Folder objFolder = shell.NameSpace(@"filepathhere"); FolderItem objFolderItem […]

问题存储孤立存储中的对象列表

我试图存储在孤立存储中创build的对象列表,并能够通过自动为它们生成标题来将它们显示在列表中。 到目前为止,代码的作品,但一旦我墓碑的应用程序,并启动它的所有数据保存除了对象的列表。 我认为我的问题可能是如何初始化列表,或者我如何显示名称。 任何帮助表示赞赏。 这段代码在我的App.xaml.cs中: public partial class App : Application { public List<my_type> testList = new List<my_type>(); void loadvalues() { IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; List<my_Type> L; if (settings.TryGetValue<List<DrinkSesh>>("Storage", out L)) { testList = L; } } void savevalues() { IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings; settings["Storage"] = testList; settings.Save(); } } 这个代码在我的主页上,将项目添加到列表中: (Application.Current as App).testList.Add(new my_type()); […]

如何检查正在运行的进程是否是后台进程?

我目前正在使用我所有的电脑正在运行的进程 Process[] plist = Process.GetProcesses(); 有什么好方法来检查列表中的哪些进程正在作为后台进程运行? 对于“后台进程”,我的意思是一个对用户不可见的进程。 我试图使用WindowHandler来检查它的位置,但是这并没有这样做,因为Windows中的进程可以在WindowHandler设置为正整数的背景下运行。

如何以编程方式说明XP 64位和Server 2003 64位之间的区别

我有一个程序,我需要根据用户正在运行的Windows版本显示不同的链接。 使用这个答案,我能够检测到操作系统是哪个版本。 同样使用这个答案,我可以检测到我是否在32位或64位版本的操作系统上运行。 这完全适合我的需要,但是我遇到了这个页面 ,它指出Windows XP 64-Bit Edition和Windows Server 2003使用版本号5.2 。 我如何检测这两个操作系统之间的差异? 作为一个侧面说明,我需要将它们发送到不同的位置,如果他们在2003 64位或XP 64位,这里是我需要发送人的链接: 用于Windows XP的远程桌面连接(terminal服务客户端6.1) 用于Windows XP x64 Edition的远程桌面连接(terminal服务客户端6.0) 用于Windows Server 2003的远程桌面连接(terminal服务客户端6.0) 用于Windows Server 2003 x64 Edition的远程桌面连接(terminal服务客户端6.0)

从图像转换到base64,System.drawing.image

我使用C#的Windows Phone 8应用程序,我需要将一个图像转换为基地64.我使用这个代码: public string ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format) { using (MemoryStream ms = new MemoryStream()) { // Convert Image to byte[] image.Save(ms, format); byte[] imageBytes = ms.ToArray(); // Convert byte[] to Base64 String string base64String = Convert.ToBase64String(imageBytes); return base64String; } } 但是它返回这个错误:名称和drwing名字的types不存在于系统名称的空间,也许没有程序集引用。 我尝试安装一个ddl,但它不好。

visual studio 2010 express + win sdk =无法打开input文件'kernel32.lib'

我用VS2008 express和win SDK编译为x64。 最近重build我的机器(升级到64位Windows 7),并得到最新的快速安装。 遵循相同的程序,以允许x64目标和我的来源不再链接。 不pipe我做什么我总是得到: LINK:致命错误LNK1181:无法打开input文件'kernel32.lib' 有趣的32位编译工作正常。 这是一个很好的问题吗? 谷歌没有给我任何线索如何解决这个问题,只是几个提到同样的问题,但没有解决scheme。 是否有可能使用VS 2010与胜利7 SDK的目标64位? 感谢Pawel

创build一个虚拟分区

我正在尝试使用C ++在USB驱动器上创build一个隐藏的虚拟分区。 我可以在Windows中使用虚拟磁盘API来做到这一点吗?

打印所有std :: locale名称(Windows)

我的程序检查德语的大写字母。 #include <iostream> #include <boost/algorithm/string/classification.hpp> #include <boost/locale.hpp> using namespace std; int main() { locale::global(locale("Germany_german")); //locale::global(locale("de_DE.UTF-8")); //Also tried "de_DE.UTF-8", but does not work string str1 = "über"; cout << boolalpha << any_of(str1.begin(), str1.end(), boost::algorithm::is_upper()) << endl; string str2 = "Ää"; cout << boolalpha << any_of(str2.begin(), str2.end(), boost::algorithm::is_upper()) << endl; return 0; } 程序崩溃与控制台上的错误 terminate called after […]

Visual Studio 2010 MSVCR依赖项删除?

我试过谷歌,但我找不到解决scheme。 我想学习一些基本的C ++。 我写了一个简单的问候世界: #include <stdio.h> int main() { printf("hello, world\n"); return 0; } 它编译完美,一切! 伟大的我想,所以我装了我的虚拟机与XP,并没有安装服务包,然后试图运行它。 它告诉我,我需要MSVCR DLL。 有什么办法可以完全消除这种依赖? 我不想用dll填充程序。 我希望它完全消失。 是否可以制作和运行一个程序,将运行在XP和以上? 谢谢。