小编wpf*_*abe的帖子

用于文件/ mime类型检测的.NET库

我需要一个文件类型识别NET库(最好的100%管理),具有与TrIDEngine类似的功能.我最终需要传递一个Stream表示内容,并期望返回值为MIME类型或一些容易映射到MIME类型的枚举/字符串.

我想检测一些媒体类型,如WMV,WAV,MP3和常见的图像格式,如JPEG,PNG,GIF和BMP.

TrIDEngine的问题在于,它似乎只是以命令行实用程序的形式出现,并且需要物理文件路径,而不是所需的Stream.

.net mime-types

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

HWND 子级的 WPF 渲染问题

我想可以肯定地说 WPF 将其内容呈现为窗口背景。不存在传统 HWND 意义上的子窗口。因此,当人们在 WPF 应用程序中引入基于 HWND 的东西(例如 Web 浏览器)时,视觉外观方面的情况就开始出错。

考虑一个窗口,它有一个带有两个子项的网格、WebBrowser 和其他东西,例如文本框。如果 WebBrowser 是一个红色圆圈,则文本框将呈现在其顶部。对于 WebBrowser,在任何地方都找不到 TextBox。这是因为 TextBox 被渲染为主窗口的背景,而 WebBrowser 实际上是主窗口的 HWND 子窗口,遮挡了背景。

所以一切都(不)很好。一个人如何实现期望的行为?我想让 TextBox 在 WebBrowser 之上呈现。有人遇到过这个问题吗?

我正在考虑拥有第二个透明的顶级无边框 WPF 窗口,重新设置它的父级,以便主窗口拥有它,并执行一些其他技巧来实现它。

在深入研究之前,我想知道是否有人有一个明显或更简单的解决方案?


由 Melak 更新

我向任何可以发布 Ray Burns Answer 实现的人提供此赏金AirRepair。我自己尝试过但没有成功

wpf rendering hwnd webbrowser-control

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

DEL和BACKSPACE键从WebBrowser中获取

我在VSTO Outlook加载项中有一个自定义任务窗格,用于托管System.Windows.Forms.WebBrowser控件.一切正常但在Web表单中DEL和BACKSPACE键不起作用.好像有些东西在进入浏览器之前就会吃掉这些密钥.

任何指针都表示赞赏.

编辑:

似乎单击该选项WebBrowser不会激活父任务窗格.如果我添加一个简单TextBox的兄弟作为兄弟WebBrowser,然后单击TextBox鼠标,任务窗格的标题栏颜色会发生变化,表明它已获得焦点.接下来如果我点击WebBrowser,Del和Backspace开始工作.

如果我从任务窗格中删除焦点并通过单击返回到WebBrowser焦点,则任务窗格不会获得焦点(标题栏仍然涂有未聚焦的颜色),并且Del和Backspace问题再次出现.

为什么任务窗格不知道浏览器获得焦点?

c# vsto ms-office webbrowser-control winforms

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

使用boost :: interprocess共享地图

我有一个简单的要求可能很难解决.我确实找到了一些像这样或者这样的引线,但我似乎无法自述使用它们.前者甚至没有为我翻译成可构建的代码.我对Boost没有经验只是自己写这个,但在我看来这可能是一个常见的要求.

我也遇到过Interprocess STL Map,但我还没有把它组装成工作代码.

我想boost::interprocess是去的地方,除非我想从头开始创建一些共享内存映射.

我不关心便携性.我需要一个适用于MS编译器的解决方案,特别是VS 2010附带的解决方案.

这张海报似乎想要或多或少地想要做什么,除了我需要将GUID映射到任意长度的二进制缓冲区(但是int到字符串同样好作为起点).不幸的是,即使从实验开始,我也无法干净地编译代码.

此外,我有两个问题:A)是否可以自动(或至少可预测)增加/缩小共享内存以满足分配需求; B)假设一个进程创建映射,另一个进程如何"附加"它?

我不介意解决方案是否需要多个共享"段"以满足分配需求.它不一定必须是单个单片共享内存块.

任何帮助都非常感谢.

c++ boost map shared-memory boost-interprocess

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

有条件地将资源嵌入CSPROJ

我试图根据配置将资源从两个不同的目录嵌入CSPROJ中。这篇文章给了我这个主意,但是没有用。任何帮助表示赞赏。

<Choose>
  <When Condition="'$(Configuration)' == 'Debug'">
    <ItemGroup>
      <EmbeddedResource Include="..\Debug\file.txt">
        <Link>Files\file.txt</Link>
      </EmbeddedResource>
    </ItemGroup>
  </When>
  <Otherwise>
    <ItemGroup>
      <EmbeddedResource Include="..\Release\file.txt">
        <Link>Files\file.txt</Link>
      </EmbeddedResource>
    </ItemGroup>
  </Otherwise>
</Choose>
Run Code Online (Sandbox Code Playgroud)

我也尝试过,但是效果也一样。

<ItemGroup>
  <EmbeddedResource Include="..\$(Configuration)\file.txt">
    <Link>Files\file.txt</Link>
  </EmbeddedResource>
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

c# visual-studio

5
推荐指数
2
解决办法
5150
查看次数

在AWS Lambda中使用async关键字

我正在使用Node.js与AWS Lambda一起玩.在厌倦了必须处理回调之后,我认为我可以优雅地使用async/await,就像我习惯于在C#中一样.

exports.handler = async(event, context, callback) => {
    db = await MongoClient.connect(process.env['MONGODB_URI']);
}
Run Code Online (Sandbox Code Playgroud)

即使这在使用离线测试时似乎有效lambda-local,但在上传到AWS 时也会失败.看起来好像async无法识别关键字.我在AWS上使用最新的Node.js 6.10运行时,而我的本地版本是8.5.有办法还是我应该放弃这种方法并重新使用回调?

javascript amazon-web-services node.js aws-lambda

5
推荐指数
2
解决办法
3106
查看次数

扩展的NSIS插件目录

我正在使用VS 2010为NSIS构建插件,并且我希望设置该项目,以便从简单的NSI文件自动构建测试设置。

一切似乎都很好,除了我不知道如何使NSIS在项目的输出文件夹中而不是C:\Program Files (x86)\NSIS\Plugins\*.dll仅在我的插件中查找。

我可以在NSI脚本中添加任何命令,以使NSIS在“标准插件文件夹”之外寻找我新构建的插件吗?每次我要测试它时都必须复制我的DLL似乎很奇怪。

任何帮助表示赞赏。

nsis

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

请求刷新 LVN_GETEMPTYMARKUP

我正在使用LVN_GETEMPTYMARKUP在 ListCtrl 中显示一些文本,直到它获得一些内容。我面临的问题是我似乎无法找到刷新此文本并有效强制 ListCtrl 多次发送此通知的方法。

有没有办法告诉 ListCtrl 刷新“标记”?

winapi listview visual-c++

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

无法将System.IO.Compression添加到SQL Server中的受信任程序集

我试图在NET 4.5中创建一个SQLCLR存储过程,摆弄ZIP文件.显然System.IO.Compression不在SQL Server的批准列表上,但这是我尝试通过SQL Server Management Studio手动添加它时得到的.如果我尝试CREATE ASSEMBLY通过查询执行,也会发生同样的情况.有任何想法吗?为什么这是禁忌?

我也尝试在SSMS中运行此命令:

CREATE ASSEMBLY SystemIOCOMPRESSION
  FROM 'C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\System.IO.Compression.dll'
  WITH PERMISSION_SET = EXTERNAL_ACCESS
Run Code Online (Sandbox Code Playgroud)

...结果与我通过SSMS UI尝试的结果相同.

来自SSMS的错误提示

.net c# sql-server ssms sqlclr

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

手动向MongoDB查询提供参数以支持排序规则功能(不区分大小写的索引)

我已经安装了当前的开发版本3.3.11,以测试不区分大小写的索引,该索引显然根据https://jira.mongodb.org/browse/SERVER-90支持。我已经从mongo shell和简单的测试数据库中进行了尝试,它似乎确实可以工作。

不幸的是,即使在索引创建过程中指定了排序规则(和强度),也必须指定与之相同的排序规则参数,.find以便获得不区分大小写的匹配。如果查询中省略排序规则,则索引的行为区分大小写。

甚至最新的C#MongoDB驱动程序(2.3.0-beta1)似乎也不支持向查询提供排序规则参数。因此,即使我已经升级了引擎和数据库C#驱动程序,并使用所需的排序规则创建了索引,但似乎无法使用当前驱动程序获得结果。

是否有“手动”方式为查询提供额外的参数?

c# mongodb mongodb-query mongodb-.net-driver

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