问题列表 - 第24636页

在Linux/X Window系统下进行屏幕阅读/鼠标点击?

我正在学习人工智能和(只是为了娱乐和练习,而不是利润或任何邪恶)我想写一个小机器人为我玩一个rinky-dink Flash游戏.

作为微软的仇恨者,我很尴尬地说我知道并且已经在Windows下使用了必需的函数调用,在Delphi中进行编程.但是现在我尝试在Linux下做所有事情,我似乎没有任何想法.

要求:

  • 以图像或位图的形式,定期或按程序请求获取部分屏幕内容;
  • 在程序控制下模拟鼠标指针移动和左键单击;
  • 键盘抓取也可能派上用场.

理想情况下,我想从在JVM中运行的Clojure应用程序中执行此操作,因此Java兼容库将成为猫的喵喵.但如果不这样做,我可以自己编写一个C程序,通过本地TCP/IP在X Window和我的应用程序之间进行调解.

c java linux x11

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

如何在不同的线程上更改Form的窗口状态?

有谁知道如何从另一个线程更改窗体的窗口状态?这是我正在使用的代码:

    private void button4_Click(object sender, EventArgs e)
    {
            string pathe = label1.Text;
            string name = Path.GetFileName(pathe);
            pathe = pathe.Replace(name, "");
            string runpath = label2.Text;
            Process process;
            process = new Process();

            process.EnableRaisingEvents = true;
            process.Exited += new System.EventHandler(process_Exited);

            process.StartInfo.FileName = @runpath;
            process.StartInfo.WorkingDirectory = @pathe;
            process.Start();
            WindowState = FormWindowState.Minimized;
    }
    private void process_Exited(object sender, EventArgs e)
    {
        this.WindowState = FormWindowState.Normal;
    }
Run Code Online (Sandbox Code Playgroud)

这意味着运行程序并最小化,然后在程序关闭后返回正常状态.虽然我收到此错误"跨线程操作无效:控件'Form1'从其创建的线程以外的线程访问." 知道如何让这个工作吗?

c# process windowstate winforms

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

如何让BeanUtils忽略空值

使用Commons beanUtils我想知道如何询问任何转换器说Dateconverter忽略空值并使用null作为默认值.作为一个例子考虑公共课,

public class X {
    private Date date1;
    private String string1;
    //add public getters and setters
}
Run Code Online (Sandbox Code Playgroud)

和我的转换为,

public class Apache {

    @Test
    public void testSimple() throws Exception {
        X x1 = new X(), x2 = new X();
        x1.setString1("X");
        x1.setDate1(null);
        org.apache.commons.beanutils.BeanUtils.copyProperties(x2, x1);
        //throws ConversionException
        System.out.println(x2.getString1());
        System.out.println(x2.getDate1());
    }
}
Run Code Online (Sandbox Code Playgroud)

由于日期恰好为null,因此抛出NPE.对于我来说,这看起来是一个非常原始的场景,应该默认处理(例如,我希望x2对date1有空值).doco告诉我,我可以要求转换器这样做.有人能指出我这样做的最佳方式吗?

我不想得到转换器和isUseDefault()是真的,因为那时我必须为所有日期,枚举和许多其他转换器做!

java apache-commons-beanutils

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

如何自动增加非主键? - SQL Server

CREATE TABLE SupplierQuote
(
supplierQuoteID int identity (3504,2) CONSTRAINT supquoteid_pk PRIMARY KEY,
PONumber int identity (9553,20) NOT NULL
.
.
.
CONSTRAINT ponumber_uq UNIQUE(PONumber)
);
Run Code Online (Sandbox Code Playgroud)

上面的ddl产生错误:

Msg 2744,Level 16,State 2,Line 1为表'SupplierQuote'指定的多个标识列.每个表只允许一个标识列.

我怎么解决呢?我希望PONumber能够自动增加.

sql t-sql database sql-server normalization

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

Asp.Net 3.5路由到Web服务?

我一直在寻找一种方式来路由http://www.example.com/WebService.asmxhttp://www.example.com/service/仅使用ASP.NET 3.5路由架构,而无需配置IIS服务器.

到目前为止,我已经完成了大多数教程告诉我的内容,添加了对路由程序集的引用,在web.config中配置了东西,将其添加到Global.asax:

protected void Application_Start(object sender, EventArgs e)
{
    RouteCollection routes = RouteTable.Routes;

    routes.Add(
        "WebService",
        new Route("service/{*Action}", new WebServiceRouteHandler())
    );
}
Run Code Online (Sandbox Code Playgroud)

...创建了这个类:

public class WebServiceRouteHandler : IRouteHandler
{
    public IHttpHandler GetHttpHandler(RequestContext requestContext)
    {
        // What now?
    }
}
Run Code Online (Sandbox Code Playgroud)

......问题就在那里,我不知道该怎么做.我读过的教程和指南使用的是页面路由,而不是web服务.这甚至可能吗?

Ps:路由处理程序正在工作,我可以访问/ service /抛出我在GetHttpHandler方法中留下的NotImplementedException.

asp.net routing web-services url-rewriting asp.net-3.5

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

使用OpenCV和Python显示网络摄像头源

我一直在尝试使用Python创建一个简单的程序,它使用OpenCV从我的网络摄像头获取视频,并将其显示在屏幕上.

我知道我部分在那里因为窗口已经创建并且我的网络摄像头上的灯光闪烁,但它似乎没有在窗口中显示任何内容.希望有人可以解释我做错了什么.

import cv

cv.NamedWindow("w1", cv.CV_WINDOW_AUTOSIZE)
capture = cv.CaptureFromCAM(0)

def repeat():

    frame = cv.QueryFrame(capture)
    cv.ShowImage("w1", frame)


while True:
    repeat()
Run Code Online (Sandbox Code Playgroud)

在一个不相关的说明中,我注意到我的网络摄像头有时会更改其索引号cv.CaptureFromCAM,有时我需要输入0,1或2,即使我只连接了一台摄像机而且我没有拔掉它(我知道因为除非我改变指数,否则光不亮.有没有办法让Python确定正确的索引?

python webcam opencv

55
推荐指数
3
解决办法
12万
查看次数

更清洁的方式来存储用数组ref替换标量哈希值?

我正在构建一个散列,其中与标量相关联的键不一定是唯一的.期望的行为是,如果键是唯一的,则值是标量.如果密钥不是唯一的,我希望该值是与密钥关联的标量的数组引用.由于哈希是迭代构建的,我不知道密钥是否是提前唯一的.现在,我正在做这样的事情:

if(!defined($hash{$key})){
   $hash{$key} = $val;
}
elseif(ref($hash{$key}) ne 'ARRAY'){
   my @a;
   push(@a, $hash{$key});
   push(@, $val);
   $hash{$key} = \@a;
}
else{
   push(@{$hash{$key}}, $val);
}
Run Code Online (Sandbox Code Playgroud)

有更简单的方法吗?

perl hash

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

如何不输出默认的T4生成文件?

我使用T4toolbox生成一堆文件,假设我的t4文件名是x.t4,但是默认它会生成一个x.txt,里面什么都没有,我可以告诉t4引擎不要这样做吗?

t4

29
推荐指数
3
解决办法
5823
查看次数

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

如何在SQL Server中的字段中逃避撇号?

几天前我问了一个关于通过运行SELECT将数据移动到另一台服务器来创建INSERT的问题.这很有效,直到我遇到一个完整的HTML和撇号表.处理这个问题的最佳方法是什么?幸运的是没有太多的行,所以作为"复制和粘贴"的最后手段是可行的.但是,最终我需要这样做,那时候表格可能太大了,无法复制和粘贴这些HTML字段.

这就是我现在拥有的:

select 'Insert into userwidget ([Type],[UserName],[Title],[Description],[Data],[HtmlOutput],[DisplayOrder],[RealTime],[SubDisplayOrder]) VALUES ('
    + ISNULL('N'''+Convert(varchar(8000),Type)+'''','NULL') + ','
    + ISNULL('N'''+Convert(varchar(8000),Username)+'''','NULL') + ','
    + ISNULL('N'''+Convert(varchar(8000),Title)+'''','NULL') + ','
    + ISNULL('N'''+Convert(varchar(8000),Description)+'''','NULL') + ','
    + ISNULL('N'''+Convert(varchar(8000),Data)+'''','NULL') + ','
    + ISNULL('N'''+Convert(varchar(8000),HTMLOutput)+'''','NULL') + ','
    + ISNULL('N'''+Convert(varchar(8000),DisplayOrder)+'''','NULL') + ','
    + ISNULL('N'''+Convert(varchar(8000),RealTime)+'''','NULL') + ','
    + ISNULL('N'''+Convert(varchar(8000),SubDisplayOrder)+'''','NULL') + ')' 
    from userwidget 
Run Code Online (Sandbox Code Playgroud)

除了HTMLOutput字段中那些讨厌的撇号之外,哪个工作正常.我可以通过在撇号上加倍查询来逃避它们,还是有一种编码字段结果的方法,这样无关紧要?

sql sql-server

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