Articles of c + +

安全地移除已安装的驱动器

我有一个应用程序,通过SATA接口将文件写入格式化为NTFS的外部驱动器。 在closures应用程序之前,我确保使用FlushFileBuffers为每个文件(即CreateFile , FlushFileBuffers , CloseHandle )刷新所有内容。 然后我卸下驱动器,没有先卸载它! 将驱动器插入PC机时似乎工作正常。 但是,将其插入OS X时,操作系统似乎找不到任何文件,除非该驱动器已正确卸载。 有什么可以从磁盘丢失导致OS X找不到任何东西,有没有办法,我可以刷新数据,而无需卸载驱动器? 编辑: 与exfat我有问题,“脏”的驱动器重新安装时不可写入。

ReferenceError:Sys未定义ReferenceError:WebForm_DoPostBackWithOptions未定义

我们在我的专用服务器上build立了一个新的域,我的旧域完美运行。 我的网站是build立在asp.net。 在新的域名上,我有一个旧的代码的副本。 这两个站点都在同一个专用服务器上。 当我尝试执行新网站上的代码时,出现以下错误消息: ReferenceError:系统没有定义 ReferenceEror:WebForm_DoPostBackWithOptions没有定义 你能帮我解决这个问题吗?

Windows 8 C#/ XAML应用程序在一台机器上,而不是另一台机器的大内存使用情况

我正在C#/ XAML中的Windows 8应用程序工作。 我正在使用MVVM模式,SQLite数据库,多语言支持等,我没有太多注意应用程序使用多less内存时运行。 它跑得相当快。 在某个时候,我觉得应用程序的转换速度要慢得多。 我也试图通过提交过程 – 创build上传包(对于X64,X86,ARM),运行authenticationtesting。 该应用程序通过了authenticationtesting。 但是我对速度有点担忧,而且我试图检查它的内存使用情况,发现它使用了几百MB的内存,并且在某些时候内存可能会上升到1GB(根据任务pipe理器中报告的数字)。 所以我尝试了一些debugging,发现在它到达App.xaml.cs代码的第二行之前,它已经使用了大约150 MB。 我试图将这个项目加载到另一台机器上,并在那里运行,内存使用量通常小于100MB,速度是我在减速之前所经历的。 所以这对我来说是正常的。 那么你们有没有类似的经历? 你有什么想法如何使我的原始机器上的应用程序正常工作? 我的印象是,在代码中我没有任何东西可以做。 这可能与我原来的机器上的项目有关。 但是我不知道是什么设置。 我试过重新启动机器,并没有解决问题。 应用程序变慢后,它也坠毁了。 在事件查看器中,我看到消息提到了vrfcore.dll。 我做了一些search,看到它与应用程序validation程序有关,我记得之前尝试运行应用程序validation程序。 我也尝试了工具栏中的debugging位置,并尝试模拟暂停。 但即使我不知道这样做,记忆力也是很高的。 这个问题似乎只影响我的机器上的应用程序,但不是所有的应用程序。

有没有办法使用win32 API调用获取MachineGuid(而不是从registry中进行手动读取)?

有没有什么办法可以使用win32 API调用来获取MachineGuid(不是从registry中手动读取)?

C#试图打开远程文件的位置,但Windows不通过凭据

所以,基本上我在做的是试图在远程工作站上打开\\ \ c $。 现在,当有人执行应用程序时,他们实际上使用的是不同于用来login到应用程序的域和用户名/密码的应用程序,现在使用<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />工作站。 从应用程序内我可以做任何我想要的。 但现在我想要完成的是有一个button链接到\什么\ C $,只是在资源pipe理器中打开,所以我可以看一些文件,但是我不想每次input密码。 特别是考虑到这是我用来打开应用程序相同的凭据。 任何帮助,将不胜感激。 这里是我正在使用的当前代码。 string startlocation = @"\\" + textBox1.Text + @"\C$"; System.Diagnostics.ProcessStartInfo pcsi = new System.Diagnostics.ProcessStartInfo(); pcsi.FileName = "explorer.exe"; pcsi.Arguments = startlocation; System.Diagnostics.Process.Start(pcsi); 从我可以告诉这应该自动传递应用程序打开时使用的凭据。 但它仍然开放UAC要求凭证。 我卡住了。 当我在寻找类似的情况时,我注意到很多其他人在问如何用其他证书打开它,或冒充那不是我想要做的。 我想使用用于打开应用程序的凭据。

我怎样才能解决我个人的ORA-12154错误?

我需要在同一台Windows 2008 R2服务器上运行ASP.NET&C#.NET程序。 你会认为每一件事都是一个蛋糕,一个工作,另一个是免费赠品。 我首先在服务器上安装了Oracle XE,并使一切正常。 迁移数据库,事情看起来不错。 我从Windows 2003 x86环境中迁移了Web应用程序。 因此,我安装了Oracle 11g(11.2x)x86客户端,在应用程序池中允许使用32位应用程序,networking应用程序开始工作,我开始做一个快乐的舞蹈。 Web应用程序的一部分将会popup并运行驻留在Web根目录的bin文件夹中的C#可执行文件(.exe)。 它不工作,所以我抓住了shell的命令行,并决定手动运行。 我得到错误; 无法加载文件或程序集“Oracle.DataAccess.dll”或它的一个依赖项。 该系统找不到指定的文件。 在尝试了很多东西之后,我将可执行文件移动到了自己的位置,安装了Oracle 11g x64客户端,将oracle.dataaccess.dll放到应用程序(.exe)的文件夹中,现在就可以得到了; ORA-12154:TNS:无法parsing指定的连接标识符 包括TNSPING在内的所有东西都可以很好地连接到数据库,我在pathvariables的开始部分已经有了X64path,并且我尝试了许多ORA-12154故障排除技巧,我可以发现,我正式难住了。 我检查了系统上的每个TNSNAMES.ORA文件,并对其进行了仔细检查,它们都很好看。 我的一个问题是“闪烁的TNSNAMES.ORA是我的程序使用? 为此,我下载并运行了sysinternals ProcessExplorer(以及内置的资源监视器(但是我无法看到它打开任何文件,更不用说TNSNAMES.ORA了。 一切工作在我从2003年复制它的x86服务器上游泳。 Anyoune对此有什么build设性的想法吗?

如何在gcc上使用ubsan(windows 8.1)

为了更好地保护UB案件,例如: #include <stdio.h> int f(){ int x; return x; } int main() { f(); while(1); return 0; } 我今天更新了GCC,所以我可以使用ubsan 。 根据gcc –version我目前的版本是5.3.0。 我认为这个更新会增加ubsan,但是看起来这不是因为用C:\Users\my_name\Desktop>gcc -fsanitize=undefined ac这就是我得到的: c:/mingw/bin/../lib/gcc/mingw32/5.3.0/../../../../ mingw32 / bin / ld.exe:can not fin d -lubsan 现在,我已经看到这个post,但操作系统是Ubuntu 15.04 ,我使用Win 8.1所以没有帮助我。 其中一个评论说: 您需要安装libubsan软件包。 但我不知道这是否意味着windows/ubuntu ,即使是windows用户,我不知道该怎么做。 编辑:我也试着编译gcc -fno-sanitize=all ac (这里有很多选项),而且这个编译没有任何警告,所以我猜GCC以某种方式识别杀毒软件(因为它编译成功),但是拒绝我的原始编译尝试一些原因

如何通过COM接口以编程方式激活OLE控件?

我有一个应用程序通过ActiveXembeddedbutton控件。 该button由第三方提供,实现了一系列的ActiveX接口(其中IOleInPlaceObject )。 我有一个对IUnknownbutton实现的引用。 我面临的问题是由对象提供的IOleWindow::GetWindow函数总是返回一个错误; 错误代码是0x80004005,这显然是一个常见的HRESULT值,意思是E_FAIL 。 不太具描述性。 对于什么是值得的,该对象还通过它的IDispatch实现公开hWnd属性; 查询成功,但财产的价值总是为零。 有一点谷歌search表明,我可能需要“激活”的OLE对象之前, hWnd属性产生一个有用的价值。 有谁知道如何做到这一点,有没有一个专用的COM接口来激活OLE对象? 有趣的是,button似乎有一个窗口句柄,如在Spy ++中可见的。 更新:我刚刚发现IQuickActivate这是由我正在处理的button控制,并可以用来'快速'(嗯…)激活一个项目。 然而,填补QACONTAINER结构似乎是一个相当痛苦的事情,所以我现在宁愿不这样做。

使用WriteConsoleOutputCharacter和SetConsoleTextAttribute

我正在试图编写一个程序,将通过坐标输出。 我正在使用windows.h include和函数WriteConsoleOutputCharacter将字符输出到屏幕,但忽略由SetConsoleTextAttribute设置的颜色。 任何想法如何让它输出颜色? 代码输出到控制台: void Card::printFancy(COORD coord, bool top) const { paint(); LPDWORD written(0); for (int row(0); row < CARD_WIDTH; ++row) { coord.Y += 1; WriteConsoleOutputCharacter(Colorizer::getInstance().getCon(), _card[row], CARD_WIDTH, coord, written); } unpaint(); } 而且paint基本上在我的Colorizer类中使用paint()和unpain()调用了适当的颜色Colorizer paint函数来调用paint函数: void paint(uint color) { SetConsoleTextAttribute(_con, color); } _con是通过_con = GetStdHandle(STD_OUTPUT_HANDLE);设置的句柄_con = GetStdHandle(STD_OUTPUT_HANDLE);

编写一个小型的C程序,在input的时间内closures窗口

我想编写一个程序在N秒钟内closures窗口。 我知道closures窗口最简单的方法是调用system() shutdown -s -t XXXX XXXX是给定的时间。 但是system()只接受string作为参数。 如何在7200由用户input的情况下调用system("shutdown -s -t 7200") ?