Articles of c + +

使用Gmail发送邮件

public static bool SendMail(string toList, string from, string ccList, string subject, string body) { MailMessage message = new MailMessage(); SmtpClient smtpClient = new SmtpClient(); try { MailAddress fromAddress = new MailAddress(from); message.From = fromAddress; message.To.Add(toList); if (ccList != null && ccList != string.Empty) message.CC.Add(ccList); message.Subject = subject; message.IsBodyHtml = true; message.Body = body; smtpClient.DeliveryMethod = […]

为什么BOOL在Windows中是inttypes的?

为什么不把BOOL定义为如下的enum : enum BOOL {FALSE, TRUE}; 是否有任何理由为什么BOOL必须显式指定为int (或任何其他整型)?

没有显示MFC的CMenu工具提示

我尝试使用这样的东西来设置一个CMenu项目的工具提示(如此处所述),但它只是显示在一行中,并且换行符不可见。 // read control id UINT id = menu->GetMenuItemID(1235); // modify caption and add tooltip? menu->ModifyMenu( id, MF_BYCOMMAND, id, "Click here\nThis is the tooltip for the menu item …"); 我也尝试直接在菜单项的Visual Studio资源devise器中设置标题,效果相同。 你能给我什么错误的提示吗? 我在Windows 7上使用VS2008。 任何帮助表示赞赏!

.NET:如何创build文件图标叠加

我试图在各种文件的图标上添加不同的图标覆盖(注意:并非所有文件都是某种types的文件,只是某些文件)。 如果你没有明白我的意思,我指的是像TortoiseSVN,TortoiseHG,Dropbox等这样的程序。 这可以在.NET中完成吗? 如果是这样,怎么样? 我希望这里有一个图书馆。 我发现这个CodeProject文章关于这样的东西,但它不是.NET。 提前致谢。

将XMLstring反序列化为对象错误:xml文档中存在错误(1,2)

从Windows事件查看器我可以得到以下的XML结构: <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"> <System> <Provider Name="XXXXXXXXXX" Guid="{YYYYYYYY}" /> <EventID>XYZ</EventID> <Version>0</Version> <Level>L</Level> <Task>A</Task> <Opcode>0</Opcode> <Keywords>0x000xyzh</Keywords> <TimeCreated SystemTime="2012-06-28T15:44:04.997837000Z" /> <EventRecordID>153</EventRecordID> <Correlation ActivityID="{DDDDDDDDD}" /> <Execution ProcessID="199999" ThreadID="90990" /> <Channel>Microsoft-Windows-ABCDEFG/Admin</Channel> <Computer>myPC</Computer> <Security UserID="ABCABC" /> </System> <EventData> <Data Name="name1">data1</Data> <Data Name="name2">data2</Data> <Data Name="name3">data3</Data> </EventData> <RenderingInfo Culture="en-US"> <Message>some message </Message> <Level>Information</Level> <Task>XYZ</Task> <Opcode>Info</Opcode> <Channel /> <Provider /> <Keywords> <Keyword>XYZ</Keyword> </Keywords> </RenderingInfo> […]

我如何获得在Windows中的显示数量?

我想统计活动显示的数量。 对于Mac我可以使用以下内容: CGDisplayCount nDisplays; CGGetActiveDisplayList(0,0, &nDisplays); log.printf("Displays connected: %d",(int)nDisplays); 我怎样才能在Windows中实现相同的? 我已经find了EnumDisplayMonitors,但我无法解决如何使用它。

MessageBox“exception程序终止”让我的应用程序继续运行

…有点。 正如这个极端简单的例子所示, 很less(只报告过一次),碰巧我的一个应用程序崩溃了。 我想通常在发生非特定exception时终止它。 我的策略是(低级别)logging问题,然后终止。 该应用程序是一个子系统的一部分,我想(重新)启动它,如果有任何问题被发现。 它使用C ++ Builder 6构build,并在Windows(XP … 7,也是8)上运行。 我了解到, abort()很可能导致了错误信息。 该应用程序有一个GUI,这就是为什么显示一个消息框,而不是只是一个(unblocking)输出到stderr 。 只要消息框不被用户接受,我的应用程序就会明显运行 ,例如处理定时器(上面示例中的生命周期增加)或进程间消息,完全不知道问题。 阅读一些答案后, 什么是最简单的方法来使一个C ++程序崩溃? 和raise(SIGABRT)和abort()方法之间的区别 ,我尝试了以下 void mySignalHandler(int sig) { // low-level error reporting here exit(-1); } void __fastcall TForm1::FormCreate(TObject *Sender) { signal(SIGABRT, mySignalHandler); // some more initialisation here } 如果调用了abort()或raise(SIGABRT)也可以正确终止我的应用程序 。 (我也希望阻止Windows“寻求解决问题的办法”)。 这是(注册一个信号处理程序中止和调用退出)从您的angular度来看是可靠的吗? …或者至less可以build立一些东西?

替代gethostbyname

我不能使用gethostbyname来获取主机的IP地址,这是一个弃用的函数,只能在Windows的10%的时间内运行! 我找不到任何足够的资源在其他方式find一个主机的IP地址使用其他function(MSDNbuild议getaddrinfo但看起来不像我想要的。)

CreateIoCompletionPort中的并发线程数

在CreateIoCompletionPort的MSDN页面上,这个函数的最后一个参数有一个非常简短的描述: NumberOfConcurrentThreads [in] 操作系统可以允许并发处理I / O完成端口的I / O完成数据包的最大线程数… 究竟是什么意思? 我混淆了“同时”这个词 – 这听起来像不同的线程处理相同的I / O数据包? 而且,如果我从比允许的更多的线程调用GetQueuedCompletionStatus会发生什么?

在Windows上混合使用Qt和Objective-C

我通常在OSX和iOS上开发应用程序。 我发现Objective-C对许多任务来说是非常有用的,而且在很多情况下可以加快工作速度。 我想在Windows系统上移植我的应用程序。 我意识到(如果你有任何其他解决scheme,请让我知道!)Qt可能是一个非常有用的工具! 用Qt创buildGUI简单而快速。 问题是Qt与C ++一起工作,而OSX与Objective-C协同工作。 我读过Qt可以处理Objective-C的源代码,实际上你可以findOBJECTIVE_SOURCES和OBJECTIVE_HEADERS makefilevariables。 我search了如何configurationQt Creator来接受.mm文件,但我无法使其工作。 .pro文件里面有如下内容: … OBJECTIVE_SOURCES += \ test.mm INCLUDEPATH += "C:\GNUStep\…\Headers" LIBS += -L"C:\GNUStep\…\Libraries" -lobjc -lgnustep-base QMAKE_CXXFLAGS += -fconstant-string-class=NSConstantString -std=c99 … 我非常简单的项目是一个小部件( .h和.cpp ), main.cpp和test.h以及test.mm 为了混合C ++和Objective-C,我想到了一个“桥梁”(就像我在Cocoa中混合Objective-C和C ++时那样),所以我创build了test.h作为一个简单的头文件(没有Objective-C,只有一个桥): // test.h void testFunction( void ); 比: // test.mm #import <Foundation/Foundation.h> void testFunction( void ) { NSString* string; […]