Articles of Windows

如何用Java编写系统首选项? 我可以调用UAC吗?

如何使用Preferences.systemRoot()来编写系统首Preferences.systemRoot() ? 我试着用: Preferences preferences = Preferences.systemRoot(); preferences.put("/myapplication/databasepath", pathToDatabase); 但是我得到了这个错误信息: 2010-maj-29 19:02:50 java.util.prefs.WindowsPreferences openKey VARNING: Could not open windows registry node Software\JavaSoft\Prefs at root 0x80000002. Windows RegOpenKey(…) returned error code 5. Exception in thread "AWT-EventQueue-0" java.lang.SecurityException: Could not open windows registry node Software\JavaSoft\Prefs at root 0x80000002: Access denied at java.util.prefs.WindowsPreferences.openKey(Unknown Source) at java.util.prefs.WindowsPreferences.openKey(Unknown Source) at […]

是否有像asctime_s()这样的函数在Windows中用于SYSTEMTIME结构?

我知道我可以做到这一点,如果我有一个struct tm结构,但是如果我想用SYSTEMTIME做同样的事情。 我可以手动这样做,但只是想知道是否有这样做的function已经。 谢谢 void PrintTimeSCII(struct tm *time) { char timebuf[26] = {0}; asctime_s(timebuf, 26, time); printf("%s\n", timebuf); }

让git“服务器”在Windows上工作的问题

我跟着Tim的文章 (在这个问题 的答案中提到过),但是 – 像许多其他人一样,在最后尝试做testing克隆时,我被卡住了。 我得到fatal: the remote end hung up unexpectedly即使我的$ HOMEpath似乎是正确fatal: the remote end hung up unexpectedly错误。 任何人有任何指向我可以开始debugging的地方? 我的git和linux-fu是严格限制的… 我知道这个问题的答案 ,但它不适用于我的情况,我没有得到任何有关path的消息。

以编程方式在registry中注册性能计数器

我试图注册一个性能计数器,这个过程的一部分包括添加一些文本描述到一个特定的registry项。 对于英文这个键是HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Perflib \ 009这显然也被称为HKEY_PERFORMANCE_TEXT。 在那里有一对值(计数器,帮助)有REG_MULTI_SZ数据,我需要修改它们来完成我的目标。 正式的做法是使用名为lodctr的工具以及.h和.ini文件 。 还有一个函数可以通过编程实现 ,但是我的理解是,这只是一个简单的调用lodctr程序的包装器。 我发现维护,分发和保持3个单独的文件同步的前景有点麻烦,所以我以前编写代码来做到这一点,它在Windows XP(也可能是Vista,但我不记得肯定)下工作得很好。 现在我试图在Windows 7上使用相同的代码,它不起作用。 问题是,每当我尝试设置registry值失败与ERROR_BADKEY; 即使是registry编辑器也无法修改这些值,所以这不是我的代码的问题。 我运行了Process Monitor,注意到在驱动程序级别没有任何活动,所以看起来这个访问必须在用户模式代码(例如advapi32.dll或其他地方)中被阻止。 我明白为什么微软会试图阻止人们这样做,因为这很容易搞砸,这样做会把整个性能计数器集合搞乱。 我要去debugginglodctr,看看纯粹是出于好奇,这个魔法是什么,但是我想知道有没有人碰到过这个? 除了lodctr工具还有其他的select吗? 也许直接调用NTregistryAPI? 如果可能的话,我宁愿避免lodctr方法的麻烦。 重现问题的一个最小例子: HKEY hKey = NULL; LONG nResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Perflib\\009"), 0, KEY_ALL_ACCESS, &hKey); if(ERROR_SUCCESS == nResult) { LPCTSTR lpData = _T("bar"); […]

从QItemDelegate的自定义编辑器调用getOpenFileName时发生崩溃

先决条件: 我有一个自定义的QItemDelegate,它为treeview项目创build自定义编辑器。 编辑器由QLineEdit和QToolButton组成。 该button用于打开文件对话框以select文件并将其path放入行编辑。 我使用QFileDialog :: getOpenFileName调用来打开文件对话框。 该对话框是本地Windows文件对话框(这很重要)。 编辑器第一次创build时,无论按多less次button,一切都正常。 但是在编辑器closures并重新打开之后,首先按下button会导致崩溃。 崩溃的原因是我的自定义编辑器最终被删除。 这里是一些代码: void CCustomEditor::on_RunSetupBtn_clicked() { auto qFilename = QFileDialog::getOpenFileName(this, "Select application to run", QString(), "Executable files (*.exe)"); if (qFilename.isEmpty()) return; SetCommandLine(QDir::toNativeSeparators(qFilename), m_qParameters); }