小编Che*_*eso的帖子

DbgHelp.dll是否内置于Windows?我能依靠吗?

我使用CodeProject中的Jochen Kalmbach的StackWalker类,在我的DLL中发生异常时产生堆栈跟踪.

它依赖于DbgHelp.dll

DbgHelp.dll是否内置于Windows Vista,WS2008,Windows 7?

我知道微软的Windows调试工具,我知道DbgHelp.dll附带在该软件包中.但我也在我的机器上的%windir%\ system32中找到了DbgHelp.dll.


如果没有默认安装,有没有办法让我用我的DLL的调试版本重新分发它?

c c++ winapi stack-trace dbghelp

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

在VS安装项目中,如何从MSI中排除项目的依赖项?

我在C#工作.我有一个包含4个项目的小型VS解决方案:

  1. 一个DLL
  2. 一个引用DLL的EXE
  3. 合并项目,它只对前两个步骤中的程序集执行ILMerge
  4. 一个安装项目,它打包Merge项目的.EXE输出.(我已将"项目的主要输出"添加到设置中,在此处指定合并项目)

问题是,安装项目会自动将项目#1和#2检测为项目#3的依赖项.当我将第三个项目的主要输出包含到MSI(安装项目)中时,也会自动拖入依赖项.我不想要这个.

我怎么能阻止它?

我尝试指定"排除过滤器",但无法使其工作.无论我尝试什么,依赖项总是被拖入.

替代文字

我尝试手动修改Setup.vdproj,以删除自动检测到的依赖项目,但是当我在VS中重新加载.vdproj时,自动检测到的依赖项又回来了.

救命?

installation ilmerge visual-studio

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

开始使用WiX的建议?

我找到了一个WiX教程,但它真的很啰嗦,看起来比我想要的更多.什么是快速入门的最佳方式?

我的最终目标并不复杂:安装ISAPI过滤器的安装程序.

windows windows-installer wix isapi

11
推荐指数
4
解决办法
1380
查看次数

如何在emacs for Windows中运行jslint作为javascript编译工具?

我在Win32上使用GNU Emacs.

我希望能够将jslint作为.js文件的编译运行,然后逐步执行jslint报告的错误.

我有jslint,WScript版本.

javascript emacs jslint

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

WIX:是否真的弃用了Package元素的Platform属性?

如果是这样,指定x64构建的适当方法是什么?

在我的.wxs文件中,我有这样的事情:

<Package Description      ="$(var.pkgDescription)"
         Comments         ='Produced: Sun 17 April 2011'
         Manufacturer     ="Mfr name here"
         InstallerVersion ='200'
         Platform         ='$(var.Platform)'
         Compressed       ='yes' />
Run Code Online (Sandbox Code Playgroud)

...我-dPlatform=x64在candle.exe命令行中使用的地方.这似乎有效.

但是,在WIX3文档中,它声明不推荐使用Platform属性和Platforms属性.它没有描述取代它们的内容,或者开发人员应该使用什么来代替它们.

在此输入图像描述

当我从上面的元素中删除Platform属性,并运行构建时,我收到ICE80错误:

Product.wxs(285):错误LGHT0204:ICE80:此程序包包含64位组件"C.Textfiles",但"模板摘要"属性不包含Intel64或x64.

如果我使用该Platform属性,它会成功构建,但由于文档,我不确定这是否正确.

构建x64 MSI的正确方法是什么?

windows-installer wix

11
推荐指数
2
解决办法
8854
查看次数

Winforms RichTextBox:如何确定可见的文本行数?

我有一个包含RichTextBox的Winforms应用程序.

如何确定当前可见的文本行数?

原因:我想将插入符号滚动到RichTextBox的中间.我可以使用RichTextBox.ScrollToCaret(),但这会将插入符号放在RichTextBox的顶部.我想,如果我知道显示了多少行,我可以将插入符号"后退"移动n/2行,然后调用ScrollToCaret(),然后恢复原始插入位置.

编辑:

我找到了EM_GETLINECOUNT,我认为这是答案,除了文档说:EM_GETLINECOUNT消息检索文本行的总数,而不仅仅是当前可见的行数.

引人注目的是,还有EM_GETFIRSTVISIBLELINE,它获得了第一条可见线,但我找不到GETLASTVISIBLELINE.??


相关:
如何将插入符号滚动到RichTextBox的中间?

scroll richtextbox winforms

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

elisp:有没有办法获取当前.el模块的名称(如C中的__FILE__)?

在我的elisp模块的顶部,我想做一些简单的事情:

(message (concat "Loading " (expand-file-name (current-elisp-module) ".")))
Run Code Online (Sandbox Code Playgroud)

lisp emacs elisp

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

我可以替换或修改jQuery UI小部件上的函数吗?怎么样?(猴子补丁)

如果我想调整jQuery UI对象的一些功能,通过替换其中一个函数,我将如何去做呢?

示例:假设我想修改jQuery自动完成小部件呈现建议的方式.自动完成对象上有一个方法如下所示:

_renderItem: function( ul, item) {
    return $( "<li></li>" )
        .data( "item.autocomplete", item )
        .append( "<a>" + item.label + "</a>" )
        .appendTo( ul );
},
Run Code Online (Sandbox Code Playgroud)

我可以替换它吗?

我想这可能叫做Monkey Patching.

怎么样?我会用什么语法?

jquery monkeypatching

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

.NET:从Dictionary <K,V>生成字符串的有效方法?

假设我有一个Dictionary<String,String>,我想生成一个字符串表示."石头工具"的方式是:

private static string DictionaryToString(Dictionary<String,String> hash)
{
    var list = new List<String> ();
    foreach (var kvp in hash)
    {
        list.Add(kvp.Key + ":" + kvp.Value);
    }
    var result = String.Join(", ", list.ToArray());
    return result;
}
Run Code Online (Sandbox Code Playgroud)

有没有一种有效的方法在C#中使用现有的扩展方法来做到这一点?

我知道List上的ConvertAll()ForEach()方法,可以用来消除foreach循环.是否有类似的方法我可以在Dictionary上使用迭代项目并完成我想要的东西?

.net extension-methods dictionary

10
推荐指数
2
解决办法
1378
查看次数

是否有Winapi方式将文件移动到回收站?

我正在研究很多不同的方法,但是大多数方法都需要向System32添加一个文件,而我正在寻找一条允许你将东西移动到回收站而没有任何东西添加到计算机的行,因为我希望能立即在所有Windows计算机上运行.请放心,删除不会删除任何主要文件,并会要求确认.我正在考虑在C++中使用system("")来运行该行.

c++ winapi command-line

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