问题列表 - 第30598页

How to capture part of a screen

I am using the win32 PrintWindow function to capture a screen to a BitMap object.

If I only want to capture a region of the window, how can I crop the image in memory?

Here is the code I'm using to capture the entire window:

[System.Runtime.InteropServices.DllImport(strUSER32DLL, CharSet = CharSet.Auto, SetLastError = true)]
public static extern int PrintWindow(IntPtr hWnd, IntPtr hBltDC, uint iFlags);

public enum enPrintWindowFlags : uint
{
    /// <summary>
    /// 
    /// </summary>
    PW_ALL = 0x00000000,
    /// <summary>
    /// Only …
Run Code Online (Sandbox Code Playgroud)

c# winapi screen-scraping screen-capture

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

How do I forward repeated arguments in Scala?

在Scala(2.7)中,如果我有这个功能:

def foo(args: Array[String]) =
  for (arg <- args) println(arg)
Run Code Online (Sandbox Code Playgroud)

如果我现在尝试定义以下内容:

def bar(args: String*) = foo(args)
Run Code Online (Sandbox Code Playgroud)

然后编译器抱怨:

<console>:5: error: type mismatch;
 found   : String*
 required: Array[String]
       def bar(args: String*) = foo(args)
                                ^
Run Code Online (Sandbox Code Playgroud)

我不明白这个错误,因为编程Scala书中指出args内部函数的类型bar实际上是Array[String].我怎么能用重复的参数写这样的包装函数?

scala

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

当语法似乎正确时,简单的SQL划分为零

我使用以下语法:

Case 
  When acdtime != 0 Then sum(CAST(ti_stafftime as DECIMAL)/acdtime)*100 
  Else '0' 
End as MyPercent,
Run Code Online (Sandbox Code Playgroud)

但我仍然收到这个错误:

Msg 8134,Level 16,State 1,Line 3除以零错误.

我在这做错了什么?

我的整个查询如下:

Select 
logid,
row_date,
sum(acdcalls) as 'total calls',
sum(ti_stafftime) as 'total time staffed',
sum(acdtime) as 'time on the phone',
Case
When acdtime != 0 Then sum(CAST(ti_stafftime as DECIMAL)/acdtime)*100
When acdtime = 0 Then '0'
Else '0'
End as MyPercent,
RepLName+', '+RepFName AS Agent,
SupLName+', '+SupFName AS Sup,
MgrLName+', '+MgrFName AS Manager

From CMS_ECH.dbo.dagent dagent
INNER JOIN InfoQuest.dbo.IQ_Employee_Profiles_v3_AvayaId q …
Run Code Online (Sandbox Code Playgroud)

sql sql-server divide-by-zero

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

Ant可以从属性文件中扩展环境变量吗?

我有一个关于Ant及其对环境变量的处理的问题.为了说明我有一个小样本.

给定Ant构建文件test.xml:

<project name="myproj" default="testProps">

    <property environment="env"/>

    <target name="testProps">
            <echo message="${env.MyEnvVar}"/>
            <echo message="${MY_PROPERTY}"/>
    </target>
</project>
Run Code Online (Sandbox Code Playgroud)

和属性文件test.props:

MY_PROPERTY=${env.MyEnvVar}
Run Code Online (Sandbox Code Playgroud)

现在将环境变量设置MyEnvVar为某个值(在我的情况下为foo)并使用此命令行运行Ant:

ant -f test.xml -propertyfile test.props testProps
Run Code Online (Sandbox Code Playgroud)

我得到的输出是:

[echo] foo
[echo] ${env.MyEnvVar}
Run Code Online (Sandbox Code Playgroud)

我想知道的是,是否有任何方法来构造输入属性文件,以便我得到

[echo] foo
[echo] foo
Run Code Online (Sandbox Code Playgroud)

也就是说,我想在属性文件中命名一个环境变量,该变量在Ant脚本中被替换.注意 - 我知道如何直接访问环境变量(如此处所做).我需要做的是使用一组Ant脚本,这些脚本期望在使用不同名称定义相同属性的环境中的一个属性集合.因此,想到在属性文件中"桥接"它们.

我使用的是Ant 1.6.5版.

ant

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

将URI路径传递给JAX-RS提供程序

我最近实施了Jersey JAX-RS Rest服务.我创建了一个JIBX提供程序,允许用户在XML和Java类型之间解组和编组.我还想通过在URL路径中指定版本来对我的服务进行版本控制.版本控制将包括用于编组和解组Java类型的消息绑定版本.

因此,必须将版本传递给自定义JIBX提供程序,因此必须传递包含该版本的URL路径.但是,Provider接口(MessageBodyWriterMessageBodyReader)不在其接口方法中提供URI路径.

以下是接口writeTo()方法的方法签名MessageBodyWriter:

writeTo(Object, Type, Annotation[], MediaType, MultivaluedMap, OutputStream)
Run Code Online (Sandbox Code Playgroud)

此方法参数不包含路径uri,因此,自定义jibx提供程序无法知道应该使用哪个消息绑定版本来编组Java类型.有没有解决的办法?

java jax-rs jersey

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

Mosek的开源替代品?

是否有Mosek的开源替代品?

基本上,我正在寻找大规模凸优化求解器包.

谢谢!

编辑:

忘了早些提到,问题是非线性的; 大多数是二次的,但有时可能需要非二次约束+非二次目标

math optimization operations-research

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

执行.NET应用程序时验证authenticode签名

我觉得我在这里遗漏了一些明显的东西,但我不认为它写在任何地方.

我使用Authenticode证书签署我的可执行文件,但是当我开始学习更多关于它的信息时,我正在质疑它的价值.

  • 签名的exe具有数字证书,该证书显示为"有效"证书.当您从互联网上下载此类文件时,它会在Windows中显示一条警告,提示您即将从Xyz Corporation发布的可能不安全的位置运行程序.
  • 如果没有签名,下载的文件将提供一个完全不同的警告框,说明该文件不受信任

现在,我关心的是:

  • 如果更改了签名的exe,当您进入"属性">"数字签名">"选择签名">"详细信息..."时,将显示"此数字签名无效".这是一个非常模糊的方式来查看可能是一个严重问题,以及一个巨大的指标,你不应该运行该文件.

    • 如果您从Windows运行此文件(未下载),它将运行正常.没有任何警告或任何迹象表明存在问题
    • 我没有检查如果你下载文件然后尝试运行它会发生什么.
  • 如果从文件中剥离签名(使用delcert),则表示没有任何错误.同样,您可以运行该文件,并且在属性对话框中不会显示任何证书.


为了使这更有用,我认为签名文件需要验证自己.启动时,应检查是否存在有效签名,并且签名的sha1指纹可能与Xyz Corporation证书的预期签名匹配.

(当然,这仍然无法处理有人剥离证书,然后编辑文件以删除证书检查的情况)


我找不到任何人在谈论如何做到这一点(至少不是在.NET中,当然也不是像我期望的那样简单的API调用) - 所以这导致了几个问题:

  1. 有没有理由不检查签名?没有这项检查,还有哪些其他好处?
  2. 是否试图将签名验证为篡改检测手段如此徒劳,以至于尝试无意义?
  3. 如何检查.NET中当前可执行文件的证书?

.net authenticode

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

关于复制构造函数和指针

我正在阅读引子中的一个例子,它所谈到的事情并没有发生.具体来说,任何隐式浅拷贝都应该复制指针的地址,而不仅仅是指向的值(因此是相同的内存地址).但是,每个pos属性都指向两个不同的内存地址(因此我可以更改一个值而不影响另一个).我究竟做错了什么?

#include "stdafx.h"
#include <iostream>

class Yak
{
public:
    int hour;
    char * pos;
    const Yak & toz(const Yak & yk);
    Yak();
};
Run Code Online (Sandbox Code Playgroud)

结束标题

using namespace std;
const Yak & Yak:: toz(const Yak & yk)
{
    return *this;
}

Yak::Yak()
{
    pos = new char[20];

}

int _tmain(int argc, _TCHAR* argv[])
{
    Yak tom;
    tom.pos="Hi";

    Yak blak = tom.toz(tom);


    cout << &blak.pos << endl;
    cout << &tom.pos << endl;


    system("pause");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++

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

如何杀死我自己的活动 - 艰难的方式

所以我有我的活动,按下"退出"按钮我调用Activity.finish().这有效地关闭了我的申请.

问题:我的应用程序的Dalvik过程仍然像背景中的僵尸一样闲逛.看起来这是正常的,因为其他应用程序也这样做.甚至hello-world示例也在内存中徘徊.

我可以忍受这个,但不幸的是这种行为使我的应用程序的开发变得痛苦.我有一个连接到我的Activity的远程服务,并且在我的Activity卸载之前这个服务不会卸载(正如它所说的那样).

一切都以某种方式保持活着,没有任何理由.

我怎样才能真正从记忆中删除我的活动?

我正在寻找像Activity.finish_and_kill_my_process_please()调用或类似的东西.

android kill process android-activity

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

设置多个具有相同名称的HTTP标头?

据我所知,HTTP规范允许设置多个具有相同名称的HTTP头.是否有任何用例(从客户端到服务器,反之亦然)?

HTTP 1.1第4.2节:

当且仅当该头字段的整个字段值被定义为以逗号分隔的列表[即,#(值)]时,具有相同字段名的多个消息头字段可以存在于消息中.必须可以将多个头字段组合成一个"字段名:字段 - 值"对,而不改变消息的语义,方法是将每个后续字段值附加到第一个字段值,每个字段值用逗号分隔.因此,接收具有相同字段名称的头字段的顺序对于组合字段值的解释是重要的,因此代理不能在转发消息时改变这些字段值的顺序.

如果我没有错,则不存在需要多个具有相同名称的标头的情况.

http http-headers

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