问题列表 - 第20949页

什么是消息泵?

这个帖子(大约一年前发布)中,讨论了在非交互式会话中运行Word时可能遇到的问题.那里给出的(非常强烈的)建议不会这样做.在一篇文章中,它表示"Office API都假设您在桌面上的交互式会话中运行Office,具有监视器,键盘和鼠标,最重要的是消息泵." 我不确定那是什么.(我用C#编程只用了一年左右;我的其他编程经验主要是使用ColdFusion.)

更新:

我的程序运行大量RTF文件,以提取用于构建医疗报告编号的两条信息.我没有尝试弄清楚RTF中的格式化指令是如何工作的,而是决定只在Word中打开它们并从那里拉出文本(而不是实际启动GUI).有时,程序在处理一个文件的中间打嗝,并留下了一个字线打开该文件附有(我仍然要弄清楚如何关闭一个向下).当我重新运行程序时,我当然得到一个通知,说有一个线程正在使用该文件,我是否想要打开一个只读副本?当我说"是"时,Word GUI突然突然冒出来并开始处理文件.我想知道为什么会这样; 但看起来可能一旦弹出对话框,消息泵开始将主GUI推送到Windows?

c# winapi message-pump winmain

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

为什么BCrypt.net GenerateSalt(31)会立即回归?

在阅读了Jeff Atwood关于存储密码的帖子后,我偶然发现了BCrypt.net,这让我想到了Thomas Ptacek建议使用BCrypt来存储密码.这最终促成了我对BCrypt的C#实现

在上面最后一个链接的评论中,有人问"为什么GenerateSalt(30)永远服用,但GenerateSalt(31)似乎根本不花时间?"

我运行了BCrypt.HashPassword(密码,BCrypt.GenerateSalt(31))并在0毫秒内得到了我的结果.

我已经运行BCrypt.HashPassword("密码",BCrypt.GenerateSalt(30))超过5分钟,但仍然没有结果.

我意识到我们可能不需要随机生成的30个字符的盐来创建我们的密码哈希值(或BCrypt案例中的不可逆加密)多年.编辑我应该读一下代码,logRounds与salt长度没有任何关系.谢谢Aaronaught.

那么,为什么GenerateSalt(31)几乎立即返回一个值(当它需要大约两倍于GenerateSalt(30)的时候?

UPDATE

这是修复:

private byte[] CryptRaw(byte[] password, byte[] salt, int logRounds) {
    // ... snip ...
    uint rounds = 1U << logRounds;
    // ... snip
}
Run Code Online (Sandbox Code Playgroud)

c# salt bcrypt bcrypt.net

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

如果这是主线程崩溃,如何从UncaughtExceptionHandler启动活动?

如果检测到未处理的异常,我正在尝试启动错误报告活动.问题是从主线程抛出的异常.如果主线程崩溃,有没有办法启动活动?

android exception-handling unhandled-exception

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

.net到Java - 会序列化XML工作吗?

我们的团队主要是Java开发人员,有一些像我这样的.NET人员.

我们有一个新的应用程序,我们正在考虑并考虑在前端使用.NET,为应用服务器使用Java.

沟通的最佳方式是什么?肥皂可能很慢.我认为Serialized XML不会起作用.我似乎记得它是.NET专有的.或者它会起作用吗?

.net java

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

文件名与-e和perl中的正则表达式匹配

我需要检查目录中是否存在文件.文件名的格式如下:

/d1/d2/d3/abcd_12345_67890.dat

在我的程序中,我将知道文件名 abcd_

我需要if使用-e选项编写条件,并找到与给定模式匹配的文件.

regex perl

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

无法使用书签运行外部JavaScript

关于JS的新手.

我需要使用一个外部脚本来修改当前页面中的一些元素,将其作为书签进行访问.

如果我修改插入以下<script>行的网页的html源代码:

s=document.createElement('script');
s.type='text/javascript';
s.src='script.js';
document.getElementsByTagName('head')[0].appendChild(s);
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,如果我创建一个具有相同行的javascript:bookmarklet,我将获得一个包含以下字符串的空白页:

[object HTMLScriptElement]
Run Code Online (Sandbox Code Playgroud)

然而,如果我创建一个添加该行的书签

void(null);
Run Code Online (Sandbox Code Playgroud)

对于以前的网页,网页没有消失,但脚本没有执行.

为什么?

javascript bookmarklet

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

如何删除具有未命名的默认值约束和未知索引的列

什么是确定列及其名称是否存在默认约束的方法,以及任何索引的名称,以便在删除列之前删除它们?

sql-server indexing constraints sql-drop

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

ComboBox中的WPF命令支持

我希望在我的viewmodel上有一个命令在我的ComboBox的selectionchanged上执行.显然,Combobox不支持执行命令.

我创建了一个继承自Combox并实现此接口的新类.

当我尝试查看控件(在设计器或调试中)时,控件不显示.我没有任何例外 - 我的控件是否缺少视觉模板或其他东西?

谢谢.

public class CommandSourceComboBox : ComboBox, ICommandSource
{
    static CommandSourceComboBox()
    {
        DefaultStyleKeyProperty.OverrideMetadata(typeof(CommandSourceComboBox), new FrameworkPropertyMetadata(typeof(CommandSourceComboBox)));
    }

    #region ICommandSource Members

    public ICommand Command
    {
        get;
        set;
    }

    public object CommandParameter
    {
        get;
        set;
    }

    public IInputElement CommandTarget
    {
        get;
        set;
    }

    protected override void OnSelectionChanged(SelectionChangedEventArgs e)
    {
        base.OnSelectionChanged(e);

        if (this.Command != null)
        {
            RoutedCommand command = Command as RoutedCommand;

            if (command != null)
            {
                command.Execute(CommandParameter, CommandTarget);
            }
            else
            {
                ((ICommand)Command).Execute(CommandParameter);
            }
        }
    }

    #endregion
}
Run Code Online (Sandbox Code Playgroud)

wpf combobox command

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

有关从Phusion Passenger迁移到Unicorn的简单说明吗?

我在一个相当大的应用程序上遇到了Phusion Passenger的部署问题:高负载停滞的进程,空闲进程,实例缓慢启动等等.所以我正在调查Unicorn,我非常喜欢它的体系结构/性能透视.

是否有任何易于遵循的迁移指南从Nginx Phusion Passenger到Unicorn?

ruby-on-rails passenger unicorn

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

Python:动态定义函数

我有以下代码:

 funcs = []
 for i in range(10):
   def func():
      print i
   funcs.append(func)

 for f in funcs:
   f()
Run Code Online (Sandbox Code Playgroud)

问题是func正在被覆盖.即代码的输出是:

9
9
9
...
Run Code Online (Sandbox Code Playgroud)

如果定义新功能,您将如何解决这个问题?

最佳解决方案是更改函数的名称.即:

for i in range(10):
   def func+i():
...
Run Code Online (Sandbox Code Playgroud)

(或其他一些奇怪的语法)

python lambda

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