小编Cha*_*les的帖子

为什么我不能通过pinvoke让GetPrivateProfileString工作?

运行ac#console app我在64位Vista上写道.这是代码:

class Class1
{
    static void Main(string[] args)
    {
        Debug.Assert(File.Exists(@"c:\test.ini"));
        StringBuilder sb = new StringBuilder(500);
        uint res = GetPrivateProfileString("AppName", "KeyName", "", sb, sb.Capacity, @"c:\test.ini");
        Console.WriteLine(sb.ToString());
    }
    [DllImport("kernel32.dll")]
    static extern uint GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString, int nSize, string lpFileName);
}
Run Code Online (Sandbox Code Playgroud)

我相信我会得到一个很大的"DUH!" 作为答案,但我不明白为什么这不起作用.除了Debug.Assert之外,此代码是从此页面的c#示例中删除的

c# 64-bit pinvoke windows-vista

4
推荐指数
1
解决办法
6440
查看次数

为什么SQL Server 2005动态管理视图报告缺少索引?

我正在使用SQL Server 2005和动态管理视图sys.dm_db_missing_index_details.它继续告诉我Table1确实需要ColumnX和ColumnY的索引,但该索引已经存在!我甚至放弃并重新创建它几次无济于事.

更多细节:视图列出了Column1 equality_columns.Column2列在下面inequality_columns,所以我创建的索引是:

create index IndexA on Table1 (Column1 asc, Column2 asc)
Run Code Online (Sandbox Code Playgroud)

这不正是指数sys.dm_db_missing_index_details告诉我需要吗?

sql-server-2005

3
推荐指数
1
解决办法
1575
查看次数

通过Win32 API更改文件夹安全权限

我的C++应用程序存储了一些常见的用户数据%CSIDL_COMMON_APPDATA%\Company\Product.我想确保Users组对此文件夹具有写入权限,而在Vista上则没有.我该怎么做?

c++ security winapi

2
推荐指数
1
解决办法
1016
查看次数

Inno Setup脚本中的基本电子邮件验证

我想在Inno Setup脚本中进行基本的字符串验证,以确保字符串是电子邮件地址.我只想看到有一个'@'字符后跟一个'.' 字符,并且这两个字符的两边至少有一个字符.类似于这个正则表达式的东西:

[^@]+@.+\.[^\.]
Run Code Online (Sandbox Code Playgroud)

对象pascal中缺少正则表达式和有限的字符串函数会让我感到悲伤.反转字符串很简单,找到第一个'.' 和'@'然后做一些比较,但没有可用的反向(字符串)功能.

我知道我可以从我写的助手DLL中调用导出的函数,但我希望避免这种解决方案.

还有其他建议吗?

delphi inno-setup pascalscript

2
推荐指数
1
解决办法
2810
查看次数

"已卸载"前缀在Windows堆栈跟踪中的含义是什么?

我有一个地狱般的问题,第三方DLL似乎在卸载时导致递归堆栈溢出崩溃.我最终将这个模式放在堆栈上(使用windbg):

<Unloaded_ThirdParty.dll>+0xdd01
ntdll!ExecuteHandler2+0x26
ntdll!ExecuteHandler+0x24
ntdll!KiUserExceptionDispatcher+0xf
<Unloaded_ThirdParty.dll>+0xdd01
ntdll!ExecuteHandler2+0x26
ntdll!ExecuteHandler+0x24
ntdll!KiUserExceptionDispatcher+0xf
...
Run Code Online (Sandbox Code Playgroud)

正如您所猜测的,我没有ThirdParty.dll的源代码.

问:堆栈转储中的前缀"Unloaded_"是什么意思.我以前没碰过这个.

windows

2
推荐指数
1
解决办法
2488
查看次数

在Windows服务中使用SHFileOperation

这是可能的,但在Windows服务中使用SHFileOperation是否合适?shell32.dll中的所有SHxxx API函数似乎都是用用户级程序编写的.我可以确定SHFileOperation不会显示GUI吗?

windows service winapi shell32

1
推荐指数
1
解决办法
2410
查看次数