小编DSw*_*way的帖子

我们如何在WIndows 8中检测系统容量?

如果我有一个播放声音的应用程序.表明用户没有听到声音的原因似乎是一个好主意.有没有办法检测系统音量或MUTE?

c# windows-8 windows-runtime windows-store-apps

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

在Visual Studio后期构建事件中运行交互式批处理

我有一个用vb.net编写的程序.构建之后,我想启动一个远程执行psexec命令的交互式批处理文件.我怎样才能做到这一点?这是我的帖子构建事件:

call "$(ProjectDir)ExecOnGw.bat"
Run Code Online (Sandbox Code Playgroud)

这是我的批处理,如果它在正常的命令提示符下运行,执行就可以了.

c:\Sysinternal\psexec.exe \\gateway "C:\Remotepath\mybatch.bat" -u mydomain\myuser -p ******
pause
Run Code Online (Sandbox Code Playgroud)

这个批处理调用远程机器上的另一个批处理,然后如果我要退出,我必须按"q"和"Enter".在正常的命令提示符下,它工作正常.但是在Visual Studio post build事件中,它会发生故障.帮我!

vb.net batch-file visual-studio-2010 psexec

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

什么可能导致这个内存问题?

我正在为Windows Phone 8开发应用程序,我遇到了内存泄漏问题.但首先是一些背景.该应用程序(不幸的是)使用WebBrowsers作为页面.这些页面非常复杂,涉及很多javascript.

应用程序的本机部分用c#编写,负责与javascript进行一些简单的通信(例如,native是javascript与服务器通信的委托),为页面转换,跟踪,持久性等制作动画.是在一个独特的PhoneApplicationPage中完成的.

在我因内存不足异常而崩溃之后,我开始分析应用程序.我可以看到WebBrowsers,它是应用程序的重要组成部分,正在正确处理.但我看到的问题是内存不断增加.更糟糕的是,我对分析器的反馈很少.根据我的理解,分析器图表说存在一个大问题,而分析器数据表明根本没有问题......

注意:该步骤表示从WebBrowser到另一个WebBrowser的导航.通过两个控件之间的动画创建(我猜)尖峰.在我在图像中选择的范围中,我正在向前导航,一个向后进行最多5个WebBrowsers(2个用于总是存在的菜单,1个用于索引页,1个用于我导航的页面和1个对于我导航到的页面).在每个导航中,探查器显示正确数量的WebBrowsers:向前导航后为5,向后导航后为4.

注2:我添加了红线,以便更清楚地知道内存在那段时间内会上升

从图像中可以看出 探查 内存使用量相当大,但数字表示它很低,在这段时间内,保留分配低于启动时...

我希望我已经包含了足够的信息.我想知道可能导致这个问题的一些想法.我到目前为止的想法是:

- WebBrowser中的javascript做错了(例如没有清理一些事件处理程序).即使是这种情况,WebBrowser也不应该在销毁时释放内存吗?

- 使用一个独特的PhoneApplicationPage是不应该做的邪恶,改变它的结构可能会导致这种情况.

-其他?

另一个问题:为什么图表显示正确的内存使用量而数字没有?

如果您需要有关探查器的更多信息,请询问,我将在明天发布.

c# memory xaml webbrowser-control windows-phone-8

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

如何从 Bit Bucket 中的默认审核者/批准规则中排除分支模式?

我们有一组标准的审阅者,并且需要来自共享代码存储库的 3 个不同组的指定数量的批准。进入共享存储库的开发分支的任何代码都需要包含完整的审阅者列表,并且需要 3 个组中每组的 3 个人(总共 9 人)的批准。为了在 Bit Bucket 中实现这一目标,我们有 3 组审阅者,每组需要 3 名批准。这些规则适用于所有分支机构,并且该部分效果很好。

我们有一个例外,总共只需要 3 个批准,并且我们使用分支前缀 (translations/) 来进行那些更琐碎的更改。我可以使用该分支模式指定一组具有不同批准的不同默认审阅者,但在我们可以合并之前,Bit Bucket 仍然需要 9 个批准的默认要求,因为它适合其他 3 个要求的任何分支模式。

我如何配置 Bit Bucket,以便翻译拥有较小的审阅者集并且只需要 3 个批准,但每个其他分支将包括所有审阅者并需要 9 个批准(每组 3 个)。

git bitbucket pull-request

6
推荐指数
0
解决办法
1186
查看次数

如何删除cecil指令

我有这个方法:

public int Test()
{
    ExternalClass cls = new ExternalClass();
    return cls.ExternalMethod();
}
Run Code Online (Sandbox Code Playgroud)

我需要使用IL Injection更改它,因此我可以将类型作为参数传递并删除直接对象创建,如下所示:

public int Test(ExternalClass cls)
{

    return cls.ExternalMethod();
}
Run Code Online (Sandbox Code Playgroud)

我可以使用<>.Parameters.Add(_ ___)添加附加参数,并生成新的Assembly.

问题是我无法删除新对象创建的指令.以下是我用来删除它的行.

ILProcessor ilProcessor = <<MethodDefinition>>.Body.GetILProcessor();
ilProcessor.Remove(<<newobj instruction>>);
Run Code Online (Sandbox Code Playgroud)

一旦我尝试调用如下所示的修改后的汇编方法,就会抛出错误"Common Language Runtime检测到无效程序".

ExternalClass ext = new ExternalClass();
int i = prg1.Test(ext);
Run Code Online (Sandbox Code Playgroud)

我知道我可能也需要处理内存分配相关的东西.如果有人能够在这里提供额外的步骤,我将不胜感激.

.net mono mono.cecil

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