小编use*_*124的帖子

C# Windows 7 应用程序 System.DllNotFoundException 上的 AutoIt (AutoItX)

我有一个使用 AutoItX 进行自动化的 C# 应用程序。此应用程序在我使用 Microsoft Visual Studio 2013 版本 3 编译的 Windows 8.1 x64 环境中运行良好。

我将应用程序代码的副本推送到 bitbucket 存储库并将其克隆到运行 Windows 7 x64 的计算机。安装了 AutoItX 3.14.2 版并选择了 32 位调用。该应用程序是使用 Visual Studio 2013 版本4编译的。

应用程序编译正常,但第一次使用 AutoIt 函数导致错误:

An unhandled exception of type 'System.DllNotFoundException' occurred in AutoItX3.Assembly.dll
Run Code Online (Sandbox Code Playgroud)

我尝试了以下步骤。该应用程序在每个步骤后都经过测试

  1. 尝试使用 regsrv32 手动注册 .dll

    regsrv32 "C:\Program Files (x86)\AutoIt3\AutoItX\AutoItX3.dll"

  2. 卸载 VisualStudio 2013 R4 并尝试重新安装 VisualStudio 2013 R3 {R3 的安装失败,因为它需要 Internet Explorer 版本 10,并且此计算机上已经安装了版本 11} 所以重新安装了 R4

  3. 卸载 AutoIt 并重新安装,选择 64 位库首选项。使用 x64 平台选项编译应用程序

  4. 卸载 …

c# dll automation autoit-c#-wrapper

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

调试 AutoIt 脚本或获取当前执行的脚本行号

我的 AutoIt 脚本发送一个点击和按键列表来自动化旧的封闭源应用程序。

它有错误,所以我想知道如何调试 AutoIt 脚本。或者至少输出脚本的行号(以显示实时执行的代码)。

autoit script-debugging

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

视图没有 rowid 值

视图没有 rowid,这是预期的吗?例子:

create table t2 (u text);
insert into t2 values ('x');
insert into t2 values ('y');
create table t1 (t text, i integer);
insert into t1 values ('a',1);
insert into t1 values ('b',2);
insert into t1 values ('c',1);
insert into t1 values ('d',2);
create view v as select * from t1 join t2 on t1.i=t2.rowid;
select rowid,* from t1;
ro t  i
-- -- --
1  a  1
2  b  2
3  c  1
4  d  2
select rowid,* …
Run Code Online (Sandbox Code Playgroud)

sqlite sql-view

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

BigQuery (BQ) - 删除分区

我正在使用 BQ CLI ( https://cloud.google.com/bigquery/bq-command-line-tool )。

我没有找到如何删除 DAY 分区数据。

例如,我有一个 DAY PARTITIONED 表,其中保存日期 2016-09-01 到 2016-09-30 的数据。

我需要完全删除“2016-09-15”分区。

这可以通过 CLI 命令实现吗?

date google-bigquery partition

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

媒体播放器经典 - 以编程方式跳转到视频/音频

在Media Player Classic中,我找到了一种以编程方式跳转到视频/音频中的某个点的方法,避免使用该Go To...框.跳跃距离可在OptionsTweaks和/ HKEY_CURRENT_USER\Software\MPC-HC\MPC-HC\Settings (JumpDistL/ JumpDistM/ JumpDistS)处获得.

我所做的是找到Media Player Classic的地址空间中的跳跃距离,并设置大跳跃距离的值,这样如果将其应用到经过的时间,您将获得所需的时间.

然后我发送WM_COMMAND带参数903/ 的消息904(全部通过AutoHotkey.我通过检索/解析Edit控件的内容来获取已用时间.)

因为跳跃是对于当前点的,所以它是不精确的,并且在正确的时间内到达,但是每次都没有到达完全相同的点.

是否有更直接的方法来实现这一点,如果没有,任何Media Player Classic用户/程序员都会考虑在论坛上讨论,引入WM_COMMAND允许跳转到点(以毫秒为单位)的新消息,或者检索此处列出的数值 (state,position,duration,volumelevel,muted,playbackrate,reloadtime).(这里找到的方法太慢,无法准确地获得时间,并且需要设置特殊选项).

winapi controls autohotkey media-player

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

Hive 动态分区 - Spark 的并发写入会损坏数据

我们已经设置了一个 Spark 作业来插入到 Hive 中(使用数据帧)。hive表设置为创建动态分区。只要我们运行一个 Spark 作业将数据插入 Hive,一切都会完美运行。

我们遇到的问题是,我们预计将运行并发 Spark 作业以将数据加载到 Hive 中。这似乎不起作用。我读到动态分区不提供独占锁,而是提供共享锁。在我们的例子中,我们可以看到,如果同时运行 4-5 个 Spark 作业,数据就会损坏,一些记录会丢失。非常容易重现,几乎每次都会发生。

有人解决这个问题了吗?即使用并发作业的动态分区插入到配置单元表中,并且仍然确保不会发生数据损坏。任何意见都非常感谢!

火花代码片段:

// Set hive conf to allow dynamic partitions to be created
sqlContext.setConf("hive.exec.dynamic.partition.mode", "nonstrict")

//Create temp table to load data into Hive
parsedDataDF.registerTempTable("parsedDatatempTable")

//Insert data into Hive, dynamic partitioning   
sqlContext.sql("insert into table " + hiveDBToLoad + "." + hiveTableToLoad + " partition (partition_1, partition_2, partition_3) " +
    "select * from parsedDatatempTable")
Run Code Online (Sandbox Code Playgroud)

hadoop hive apache-spark

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

过滤后隐藏未使用的节点

要为不同的年份创建单独的模型(年份是边缘表中的一个属性),我正在尝试使用过滤器。使用过滤器

属性 > 等于 > 年份字符串(边)
我能够隐藏不是那一年的边缘。但是,这给我留下了未连接的节点(有关解释,请参见图片)。

有没有办法过滤这些(不删除与年份过滤器相关的节点/边)?我正在使用 Gephi 0.9.1。

模型的图像,包括未使用的节点。

nodes gephi

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

尝试删除数据库文件时发生 EBUSY 错误

我正在尝试使用 before/after Mocha 挂钩创建然后删除 SQLite 数据库。使用Node.js SQLite 库,我在调用 时收到“错误:EBUSY:资源繁忙或锁定...” fs.unlinkSync(DB_PATH)

之后我可以删除该文件,因此与 Node.js SQLite 库不释放文件描述符有关。如何在同一个程序中创建然后关闭数据库连接并删除数据库文件,或者在删除文件之前程序必须退出吗?代码(Windows 10,Node.js v6.10.0):

var sqlite3 = require('sqlite3');

var fs = require('fs');
var childProc = require('child_process');

before(function() {
    childProc.execSync("sqlite3 ./test_db_data/test_db.sqlite3 < ./load_data/sql/init_model.sql").toString()
});

after(function() {
    fs.unlinkSync(DB_PATH);
});

describe('tests', function() {
    var db;
    before(function(done) {

        // set up database
        new Promise(function(resolve, reject) {
            console.log("Running promise");

            db = new sqlite3.Database(DB_PATH, sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE, function(err) {
                if (err) {
                    throw new Error("Couldn't create test database.");
                }
                resolve();
            }); …
Run Code Online (Sandbox Code Playgroud)

sqlite node.js

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

Bootstrap 4“隐藏”类不起作用

我正在将Bootstrap v4与默认的CSS和JS一起使用。我试图应用类hiddenhidden-XX-down以及hidden-XX-up各种申报单,按钮等,但它似乎并没有造成任何影响。除此课程外,其他所有课程均有效。

这是一个例子:

<div class="row">

  <div class="col col-10 offset-1 hidden-sm-down">

    <p class="text-primary text-center">Lorem ipsum dolor sit amet.</p>

  </div>

</div>
Run Code Online (Sandbox Code Playgroud)

我希望在将窗口调整为较小的宽度(减小sm尺寸)时该段落不可见,但该段落仍然可见并且什么也没有发生。

html css html5 twitter-bootstrap bootstrap-4

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

如何切换到窗口身份验证弹出窗口并输入凭据?

打开应用程序URL后,用户将被重定向到登录页面,其中有一个登录按钮.

driver.get("abc.com")
Run Code Online (Sandbox Code Playgroud)

现在,当用户单击"登录"按钮时,URL在同一窗口中更改,表示它变为xyz.com,并显示用于登录目的的身份验证弹出窗口,类似于下图所示的图像. 在此输入图像描述

要在身份验证窗口中输入用户名和密码,我尝试了以下代码

shell = win32com.client.Dispatch("WScript.Shell")
shell.Sendkeys("username")
time.sleep(1)
shell.Sendkeys("{TAB}")
time.sleep(1)
shell.Sendkeys("password") 
time.sleep(1)
shell.Sendkeys("{ENTER}")
time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

它没用.然后我尝试使用上面的代码直接打开Windows身份验证弹出窗口(通过点击登录按钮后复制URL),它工作正常

driver.get("xyz.com")//instead of abc.com my application URL
Run Code Online (Sandbox Code Playgroud)

我有点困惑.如果我打开我的应用程序URL abc.com,单击登录按钮,使用autoit,它没有输入凭据.但是,如果我直接发送窗口身份验证URL xyz.com而不是app URL abc.com并使用autoit,它就可以工作.

任何人都可以建议我在这里缺少什么?我也尝试在点击登录按钮后切换窗口,考虑其新的URL然后自动命令,但它仍然无法正常工作.

driver.switch_to_window(driver.window_handles[1])
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

注意:我注意到点击登录按钮,窗口无限加载,光标在Windows身份验证poup的用户名文本字段上处于活动状态.此外,一旦出现Windows身份验证窗口,selenium命令都不起作用,也没有自动命令.

python java selenium

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