我正在为Flash游戏制作机器人,我已经想出如何将所有AutoIt函数导入到我的C#代码中.
string title = "Minesweeper";
string full = auto.WinGetTitle(title,"");
string handle = auto.WinGetHandle(full, "");
if (auto.WinExists(full, "") == 1)
textBox1.Text = "window exists";
addressBox.Text = full;
for (int r = 1; r < 40; r++)
{
auto.ControlClick(full, "", "", "left", 2, r * 10, r * 10);
//auto.ControlClick(handle, "", "", "left", 2, r * 10, r * 10);
}
Run Code Online (Sandbox Code Playgroud)
(我很确定未注释的那个应该是带句柄的那个,反之亦然,但这适用于扫雷.)
因此它适用于扫雷并且不要求它成为活动窗口.当我尝试使其在我的Flash游戏上运行时,它需要Internet Explorer窗口是活动的.这是Flash需要的东西还是还有一些额外的功能可以让游戏最小化时使其工作?
这不必使用AutoIt导入来完成.我也曾在user32 尝试过SendMessage,但这对我来说根本不适用于Flash内容.
我刚刚在随机网站上测试了这个,而不是Flash网站或Minesweeper,并且出于某种原因,如果我从Autoit脚本程序中执行它,而不是来自我的C#程序,代码可以正常运行...
2012年6月20日:我很确定这与句柄传递的方式有关.我已经做了一些测试,调用AutoIt EXE文件并使用我从C#代码获取的句柄作为参数,我必须添加一个0x,然后在AutoIt代码中我必须从字符串转换为一个HWnd,所以这可能是某种东西,在这种情况下我不知道该怎么做,因为导入的函数依赖于句柄的字符串输入.
好吧,想象一下,我正在用JavaScript创建一个口袋妖怪游戏.我有一个这样的对象......
pokemon = {
"pikachu": {hp: 100, probability: 0.1},
"squirtle": {hp: 90, probability: 0.2}
};
Run Code Online (Sandbox Code Playgroud)
我基本上需要一个函数来随机选择对象中的一个神奇宝贝,但也要基于概率.因此,在这种情况下,函数更可能选择"squirtle",因为它的概率高于"pikachu".
我有一个课程,随着时间的推移会经历一些版本的变化.作为我的应用程序启动的一部分,来自此类内部的数据被序列化和反序列化.我遇到的问题是,如果我通过添加更多属性来更新类,然后启动应用程序,旧数据将无法正确加载.
我想要做的是覆盖反序列化步骤,我不介意从xml手动重建对象,因为我有一个版本号存储,可以用它来递归更新对象的版本.
有没有我可以实现的接口,或者我可以在某处设置的属性,能够做到这一点?
如果你想不出办法做我想做的事,那还有其他选择吗?例如我正在加载的xml版本中可能不存在的属性的默认值.
是否有Java类或一些示例代码可以将java Date或Timestamp转换为:
"3 hours"
" 20 seconds"
"25 minutes"
Run Code Online (Sandbox Code Playgroud)
我需要在我的Web应用程序中使用这些字符串来显示生成文件所花费的时间(当然是以漂亮的打印方式:))
谢谢,
当我在MacOSX上开发一个主要使用Chrome的网站时,如何检查IE兼容性.
如果我对一些空闲内存有空*并且我知道至少有sizeof(T)可用,有没有办法在内存中的那个位置创建一个T类型的对象?
我只是要在堆栈上创建一个T对象并将其存储起来,但似乎必须有更优雅的方法来实现它?
我一直在理解这个结构发生了什么(来自C for ProgrammersDeitel的书).
该书说:"结构不能包含自身的实例.例如,struct employee不能在定义中声明类型的变量struct employee.但是,可以包含指向struct employee的指针."
然后给出以下示例:
struct employee2 {
char firstName[ 20 ];
char lastName[ 20 ];
unsigned int age;
struct employee2 *ePtr;
};
Run Code Online (Sandbox Code Playgroud)
我不明白这是做什么的,我不明白struct employee没有2 的参考.
我怎么struct employee2 *ePtr知道struct employee或者我不在这里?
我遇到了一个名为Teafiles.net的开源.Net库,它处理时间序列的存储和检索.专有产品茶馆可以绘制这样的时间序列.我想知道茶馆产品是否也可以作为源代码,无论是开源还是付费许可.我对能够仅加载当前图表视图中可见的数据点以及如何实现类似解决方案的技术感兴趣.
我正在寻找类似的东西,并想知道是否有人遇到过类似的技术,或者知道付费的茶馆许可证是否也有源代码.
我从数据库中得到了一堆结果Dictionary<int, Result>().
我有的Result类是:
public int Id { get; set; }
public string something { get; set; }
public string somethingtwo { get; set; }
public string somethingthree { get; set; }
public DateTime Posted { get; set; }
public string Location { get; set; }
public bool somethingfour { get; set; }
Run Code Online (Sandbox Code Playgroud)
所以,Dictionary<int, Result>里面有很多结果,我想迭代它们.我是怎么做到的?我尝试了几种方法,但即使我知道它们也行不通.
我想做这样的事情:
foreach(var result in resultDict)
{
mynewstring = result.Location;
mynewstringtwo = result.Posted;
// etc etc.
}
Run Code Online (Sandbox Code Playgroud) c# ×4
javascript ×2
.net ×1
arrays ×1
bots ×1
browser ×1
c ×1
c++ ×1
flash ×1
html ×1
java ×1
macos ×1
memcpy ×1
minimized ×1
persistence ×1
pointers ×1
pretty-print ×1
probability ×1
random ×1
sizeof ×1
struct ×1
time-series ×1
timespan ×1
webpage ×1
xml ×1