小编Mat*_*all的帖子

SendInput 不适用于游戏

我正在使用以下标准 GenerateKey 代码:

void GenerateKey ( int vk , BOOL bExtended)
{
  KEYBDINPUT  kb={0};
  INPUT    Input={0};
  // generate down 
  if ( bExtended )
    kb.dwFlags  = KEYEVENTF_EXTENDEDKEY;
  kb.wVk  = vk;  
  Input.type  = INPUT_KEYBOARD;

  Input.ki  = kb;
  ::SendInput(1,&Input,sizeof(Input));

  // generate up 
  ::ZeroMemory(&kb,sizeof(KEYBDINPUT));
  ::ZeroMemory(&Input,sizeof(INPUT));
  kb.dwFlags  =  KEYEVENTF_KEYUP;
  if ( bExtended )
    kb.dwFlags  |= KEYEVENTF_EXTENDEDKEY;

  kb.wVk    =  vk;
  Input.type  =  INPUT_KEYBOARD;
  Input.ki  =  kb;
  ::SendInput(1,&Input,sizeof(Input));
}
Run Code Online (Sandbox Code Playgroud)

我调用这个函数来模拟箭头键(上、下、左、右)。但是,这适用于普通的资源管理器窗口和小型 Flash 游戏。但是,当我在像极品飞车或 Roadrash 这样的游戏中尝试它时,它不起作用.. 这种行为有什么可能的原因吗?

keystroke sendinput

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

instanceof与多态

我遇到了instanceof运营商的麻烦.我试图避免它.基本上,我有以下结构:

class Shape {}
class Triangle extends Shape {}
class Rectangle extends Shape {}

ShapeParser s;
while (s.hasNext())
     parseShape(s.next()); // returns a Shape object

void parseShape(Triangle t) { // do stuff } // KEY POINT HERE
void parseShape(Rectangle t) { // etc }
Run Code Online (Sandbox Code Playgroud)

我正在做的关键点是:我想要对函数执行参数重载,但是它不能正常工作(编译错误).我试图避免:

void parseShape(Shape s)
{
     if (s instanceof Triangle) ...
}
Run Code Online (Sandbox Code Playgroud)

更新:似乎共识是创建一个基类方法:parseShape()来完成提升.我想澄清一下我的问题:这个问题的动机是与观察者模式有关.假设我有以下Observer对象有效负载方法:

    public void update(Observable obj, Shape objectPayload){} 
// note: the objectPayload is usually of type Object
Run Code Online (Sandbox Code Playgroud)

而不是执行:

public void update(Observable obj, Shape objectPayload)
{ …
Run Code Online (Sandbox Code Playgroud)

java polymorphism

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

javascript转换和爆炸字符串到数字

嘿家伙我可以用什么来将这个字符串转换为数字?"$ 148,326.00"

我猜我需要爆炸它并取下美元符号,然后使用parseFloat()?那会是最明智的方式吗?谢谢

这就是我得到的数字:

var homestead = xmlDoc.getElementsByTagName("sc2cash");
document.getElementById('num1').innerHTML = homestead[1].textContent;
Run Code Online (Sandbox Code Playgroud)

javascript

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

设置Java-基本(但还不是那么基本...)

最近,我开始使用Head First Java来学习Java,但我发现这本书缺乏有关设置Java的大量信息。它几乎告诉我下载JDK,并提到了有关类路径变量的内容。

我非常困惑,很明显,我的Java尚未设置为可以运行。所以...我进行了研究,并设法将/ bin /目录添加到CLASS_PATH中,并且还创建了一个名为JAVA_HOME的新系统变量,并将其指向bin文件夹。我不太确定该怎么做-这个话题对于其他每个程序员似乎都很容易,因为我找不到其他人在设置Java环境方面有如此困难。

因此,我现在可以编译并运行程序。我已经做了一些Hello World的事情,yada yada。现在,在第37页上,我们实际上将要做一些OOP的工作。这些是类:

class Movie {
    String title;
    String genre;
    int rating;

    void PlayIt() {
        System.Out.println("Playing the movie");
    }
}
Run Code Online (Sandbox Code Playgroud)

第二个:

public class MovieTestDrive  {
    public static void main(String[] args) {
        Movie one = new Movie();
        one.title = "Movie 1";
        one.genre = "Movie 1 Genre";
        one.rating = -2
        two.title = "Movie 2";
        two.genre = "Movie 2 Genre";
        two.rating = -1
        three.title = "Movie 3";
        three.genre = "Movie 3 Genre";
        three.rating = 3
    }
} …
Run Code Online (Sandbox Code Playgroud)

java classpath

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

使用EclipseLink MOXy(JAXB)将子类编组到JSON时是否有可能隐藏"@type"条目?

我即将开发基于JAX-RS的RESTful Web服务,我使用MOXy(JAXB)来自动生成我的Web服务的JSON响应.

一切都很酷,但由于Web服务将成为基于JavaScript的Web应用程序的后端,因此可公开访问,我不希望暴露某些细节,如类名等.

但是,我已经意识到在某些条件下MOXy在编组的字符串中嵌入了一个"@type"条目,这个条目后面跟着刚被编组的对象的类名.

特别是,我已经意识到MOXy在编组扩展类的实例时会以这种方式运行.

假设以下超类"MyBasicResponse"

@XmlRootElement(name="res")

public class MyBasicResponse {

@XmlElement
private String msg;

public MyBasicResponse() {
    // Just for conformity
}

public String getMsg() {
    return msg;
}

public void setMsg(String msg) {
    this.msg = msg;
}
}
Run Code Online (Sandbox Code Playgroud)

而这个专门(扩展)类"MySpecialResponse"

@XmlRootElement(name="res")

public class MySpecialResponse extends MyBasicResponse {

@XmlElement
private String moreInfo;

public MySpecialResponse() {
    // Just for conformity
}

public String getMoreInfo() {
    return moreInfo;
}

public void setMoreInfo(String moreInfo) {
    this.moreInfo = moreInfo;
}
}
Run Code Online (Sandbox Code Playgroud)

所以,MyBasicResponse对象的编组字符串是

{"msg":"A Message."} …
Run Code Online (Sandbox Code Playgroud)

json jax-rs jaxb eclipselink moxy

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

如何在Android中使用intent加载本地html页面?

我的资产目录中有一个html文件,我必须使用Intent将其作为浏览器应用程序加载.

这是我的代码,但它不起作用:

startActivity (new Intent(Intent.ACTION_VIEW, 
               Uri.parse("file:///android_asset/Sample.htm")));
Run Code Online (Sandbox Code Playgroud)

谁能帮助我?

android

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

反序列化后丢失对象的引用

假设我有两个HashMaps:hashMapFoohashMapBar.

我创建了一些对象objCake并将put其创建到两个地图中,因此每个地图都有一个引用objCake,当我对从中objCake访问它的任何地图进行一些更改时,我得到了正确的对象状态.

在我序列化两个地图并反序列化之后,我遇到问题,我的对象objCake已成为两个不同的对象!我改变了状态hashMapFoo,但没有任何反应hashMapBar.hashMapBar不再包含正确的参考!所有地图和对象implement Serializable.

有人可以解释一下吗?

java

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

将内容从Tridion 5.2导入Tridion 2011 SP1的最佳方法是什么

将内容从Tridion 5.2导入到内容搬运工Tridion 2011 SP1的最佳方法是什么?或者Kapow

tridion

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

如何显示Bourbon Neat网格的列?

在我的CSS文件中应用Bourbon Neat的命令而不显示html文件中的列,如果显示apply但不显示列的结果.

.container{
    @include outer-container;
    @include span-columns(2 of 8, table);
    border: 1px solid red;
    margin: 0 auto;
    position: relative;
    width: 960px;
}
Run Code Online (Sandbox Code Playgroud)

当显示为sass生成的css不显示Bourbon Neat列的背景属性时.

css sass grid-layout neat bourbon

5
推荐指数
3
解决办法
8578
查看次数

带参数的单例类

我正在开发计算机视觉应用程序,我将需要Classifier类.这个类在每次运行时都是不可变的,它在初始化时从磁盘加载训练过的数据.我想确保整个程序可以访问相同的训练数据,并且我希望在加载后阻止从磁盘重新加载.

我考虑的是使用静态类或单例.我不确定如何将数据加载到静态类,因为在编译时不知道数据文件的路径 - 它将是程序参数.所以我在考虑Singleton模式,但我不知道如何动态初始化它.

我的想法是使用以下:

class Singleton {
    private static Singleton instance;
    private Singleton() { ... }
    private static SomeDataObject data;

    public static Singleton getInstance() {
        if(instance == null)
            instance = new Singleton();

            return instance;
    }

    public static init(string dataPath){
        if(data == null)
             loadDataFromFile(dataPath)
    }
}
Run Code Online (Sandbox Code Playgroud)

不起作用,因为我无法控制首先调用哪个方法.

我知道正确的方法是在开始时用数据创建实例并将其传递给需要它的所有类和方法,但这不是真正的通用解决方案.我可以在我自己的代码中跟踪对Classifier的所有调用,但是如果我将代码作为API,这将是一个问题.

简而言之,如何在运行时初始化单例?

java oop singleton design-patterns

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