小编wpf*_*abe的帖子

安装Windows服务以使用ServiceAccount.User在用户凭据下运行,但不提示

我创建了一个C#Windows服务及其随附的Visual Studio安装项目,该项目创建了一个安装程序.它成功安装了该服务.

当我从枚举选择的任何值ServiceAccountServiceAccount.User,服务安装不使用相应的内置用户提示.我所追求的实际上是在当前用户的凭据下安装服务.当我指定时ServiceAccount.User,我会在安装过程中收到用户名和密码的提示.我需要做的是找到一种方法来安装服务,使用运行安装程序的用户的凭据而不提示输入密码.

这是可能吗?我愿意采取任何必要的措施(如P/Invoke的负载)来完成工作.

.net c# windows-services

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

Visual Studio安装项目MSI没有添加/删除条目

我正在使用Visual Studio安装项目进行部署.这可能听起来像是禁止,但我有一个特定的要求,卸载程序不要在添加/删除程序中注册.有什么我可以做的,以防止安装程序注册其卸载程序?

如果没有更好的东西,我甚至准备好基于Orca的解决方案.

windows-installer orca setup-project visual-studio

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

在WPF(或WinForms)中播放rtsp流

有没有办法在WPF(或WinForms)中播放rtsp://流?

我试过了MediaElement,MediaUriElement但没有一个能奏效.我也读过很多关于WMP能够播放rtsp的内容(也应该翻译MediaElement)但实际上WMP并不能在Windows 7 x64上播放.我已经看到了这一点,但我希望这不是一个明确的答案.

这与使用的视频编解码器有什么关系吗?

VLC播放rtsp流就好了.

我正在寻找WPF或WinForms组件或替代解决方案.

wpf mediaelement rtsp winforms

4
推荐指数
2
解决办法
2万
查看次数

删除并重新添加所有项目和所有列时,Listview在Win32对话框上闪烁

考虑一个简单的Win32对话框,其中包含用C++编写的listview控件(在报表模式下).在某个事件中,将删除所有项目和所有列,并创建新的列和项目.基本上,随着内容的更改,将根据内容自动生成列.

删除旧项目/列并添加新项目时,listview会像地狱一样闪烁.我尝试过WM_SETREDRAW并且LockWindowUpdate()没有改变视觉体验.

我甚至设置了扩展列表视图样式LVS_EX_DOUBLEBUFFER,这根本没有帮助.

父对话框已WS_CLIPCHILDREN设置.

有关如何使用尽可能少的闪烁工作的任何建议吗?我正在考虑使用两个列表视图,交替可见性,使用隐藏的一个作为后台缓冲区,但这听起来像是一种矫枉过正.必须有一个简单的方法.

c++ winapi mfc listview listctrl

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

来自浏览器桌面通知点击事件的Angular 6路由会产生意外行为

我根据Routing Angular文档和其中的实时演示创建了一个测试用例来重现我所看到的问题.

现场演示略有修改,以便请求浏览器桌面通知,并在app.component.ts[浏览器通知代码从某处粘贴]中显示简单通知.

请注意onclick下面的通知处理程序.它只是记录到控制台并导航到应用程序的原始路线之一.

notification.onclick = function () {
        console.log('onclick');
        self.router.navigate(['/heroes']);
      };
Run Code Online (Sandbox Code Playgroud)

要重现此问题,请确保在新窗口中打开并允许应用在出现提示时显示桌面通知.授予权限后,将立即显示通知.单击通知后,您将注意到路由器导航到新URL但未呈现任何内容.控制台输出按预期显示'onclick',但没有ngOnInit().该heroes.component.ts还修改输出ngOnInit(),如下图所示,而这永远不会发生.如果您单击该Heroes按钮,则ngOnInit()可以按预期工作.

ngOnInit() {
  console.log('ngOnInit');
  this.getHeroes();
}
Run Code Online (Sandbox Code Playgroud)

经过一些调试后,结果表明路由器按预期导航,heroes组件被实例化(当构造函数被调用时)但是ngOnInit()从不执行.

似乎onclick浏览器桌面通知的上下文在某种程度上搞砸了Angular的内部.这是真的发生了什么?这是某种角虫吗?

我也尝试过使用ng-push但是观察到相同的行为.

在我自己的成熟应用程序中,行为略有不同.在ngOnInit()没有得到最终调用,但它组件的构造函数执行后需要长达10秒.在等待期间,浏览器似乎闲置不使用CPU.

我很困惑.有任何想法吗?单击按钮时路由如何正常工作但是当从浏览器桌面通知的单击处理程序使用时,它会演示这种奇怪的行为?

请注意,我已经测试了最新的Chrome(67.0.3396.87),Firefox(60.0.2)和Edge(所有这些都在Windows 10上进行了最新更新).

angular-routing angular

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

从FFMPEG获取每个提取帧的日志行

我正在使用FFMPEG.exe从各种视频中提取帧.由于这是一个程序化的解决方案并且获得总帧数和/或持续时间可能会很棘手(使用ffprobe),我想我可以使用控制台输出来检测单个帧的时间戳,但我每N帧都会得到一个输出行像这样:

frame=   20 fps=0.0 q=0.0 size=       0kB time=00:00:01.72 bitrate=   0.0kbits/s
frame=   40 fps= 38 q=0.0 size=       0kB time=00:00:04.02 bitrate=   0.0kbits/s
frame=   60 fps= 39 q=0.0 size=       0kB time=00:00:06.14 bitrate=   0.0kbits/s
frame=   70 fps= 38 q=0.0 Lsize=       0kB time=00:00:07.86 bitrate=   0.0kbits/s
Run Code Online (Sandbox Code Playgroud)

是否有命令行选项强制每帧的输出?如果是这样,我可以提取time=部分.这是当前使用的命令行:

ffmpeg.exe -i video.avi -y -threads 0 -vsync 2 %10d.jpeg
Run Code Online (Sandbox Code Playgroud)

理想情况下,替换%10d.jpeg为写入帧时间戳的其他格式,但我认为这不存在.

ffmpeg

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

在VBA中创建和使用命名的互斥锁

我正在WordExcelVBA 做一些交错的剪贴板魔术,我认为剪贴板是一种共享资源,可能应该由一个简单的互斥体来保护。

我将如何在VBA中创建和释放命名互斥体?我找不到与VBA相关的任何内容。好像没有人从VBA创建互斥锁。不可能吗

excel vba excel-vba word-vba

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

进程外的COM单例

我正在处理一个单线程库(不是线程安全的),我想将其包装在COM进程外对象中,以避免其线程不安全.我需要一种行为,其中每个新COM对象在其自己的进程中实例化 - 某种形式的进程外单例.

已经有一段时间了,因为我一直在与硬核COM打交道,所以我不知道如何处理这个问题,或者在没有一些诡计的情况下这是否可行.

c++ com atl out-of-process

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

如何检查是否已安装SQL Server 2005或2008

我正在寻找以编程方式检查特定计算机上是否安装了SQL Server 2005或2008的方法.

对于某些MS包,它就像Install在某个路径上检查注册表中的值一样简单.例如,要检查Full NET 4,需要查看HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full.

SQL Server有类似的东西吗?我正在寻找真实的东西,而不是"快递".我该如何区分?此外,对2005年,2008年或R2的任何个人支票或累积支票都可以.

此外,我不限制自己注册.如果检查包括文件系统搜索,那也很好.

我发现像一些答案,这个这个,但他们不完全填满我的杯.

c# sql-server

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