我正在尝试将鼠标点击发送到程序.由于我不希望鼠标移动,我不想使用SendInput或mouse_event,因为应该接收点击的窗口并不真正使用按钮或其他GUI事件,我无法向这些发送消息纽扣.
我试图使用SendMessage使这个工作,但由于某种原因它不起作用.相关代码是(在C#中,但也尝试使用jnative的Java),在Vista上尝试这个
[DllImport("user32.dll", CharSet=CharSet.Auto)]
public static extern int SendMessage(IntPtr A_0, int A_1, int A_2, int A_3);
static int WM_CLOSE = 0x10;
static int WM_LBUTTONDOWN = 0x201;
static int WM_LBUTTONUP = 0x202;
public static void click(IntPtr hWnd, int x, int y)
{
SendMessage(hWnd, WM_LBUTTONDOWN, 1, ((x << 0x10) ^ y));
SendMessage(hWnd, WM_LBUTTONUP, 0, ((x << 0x10) ^ y));
}
public static void close(IntPtr hWnd)
{
SendMessage(hWnd, WM_CLOSE, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)
该close精品工程,但click没有做任何事情.
编辑:发现问题.除了替换x和y坐标的愚蠢错误,如下所示,我没有检查接收点击的Window句柄是否也是正确的客户端窗口.我现在有
POINT p = new POINT(x, …Run Code Online (Sandbox Code Playgroud) 我有一个在HTML页面中使用子选择器的CSS样式,如下所示:
<html>
<head>
<title>MSO Bug</title>
<style type="text/css" media="screen,print">
ol{list-style-type:decimal;}
ol > ol {list-style-type:lower-alpha;}
ol > ol >ol {list-style-type:lower-roman;}
</style>
</head>
<body>
<div>
<ol>
<li><div>level1</div></li>
<ol>
<li><div>level2</div></li>
<ol>
<li><div>level3</div></li>
</ol>
</ol>
</ol>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在Firefox中,CSS正常工作 - 第一个列表级别以"1"开头,第二个列表以"a"开头,第三个列表以"i"开头.
但这在IE7/8中不起作用!
(我知道后代选择器 - 由于某种原因我不能在这里使用它)
我正在使用这种简单的方法在java中开发一个常规将对象保存到硬盘上的应用程序:
public void save(String filename)
{
try
{
FileOutputStream fos = new FileOutputStream(filename);
GZIPOutputStream gzos = new GZIPOutputStream(fos);
ObjectOutputStream out = new ObjectOutputStream(gzos);
out.writeObject(this);
out.flush();
out.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
该对象是sebbot.learning.DirectPolicySearch类的实例.
问题是,经过一些重构后,学习包被重命名为"ballcapture".现在,当我尝试加载保存的文件时,我得到以下异常:
java.lang.ClassNotFoundException:sebbot.learning.DirectPolicySearch
我用来加载文件的方法是:
public static synchronized DirectPolicySearch load(String filename)
{
DirectPolicySearch dps = null;
try
{
FileInputStream fis = new FileInputStream(filename);
GZIPInputStream gzis = new GZIPInputStream(fis);
ObjectInputStream in = new ObjectInputStream(gzis);
dps = (DirectPolicySearch) in.readObject();
in.close();
}
catch (Exception e)
{
e.printStackTrace();
}
System.out.println(dps);
return …Run Code Online (Sandbox Code Playgroud) 我有一个GridView与关联DataKey,这是项目ID.如何在RowCommand事件中检索该值?
这似乎有效,但我不喜欢演员LinkButton(如果其他命令正在触发事件怎么办?),我对这一点并不太自信NamingContainer.
LinkButton lb = (LinkButton)e.CommandSource;
GridViewRow gvr = (GridViewRow)lb.NamingContainer;
int id = (int)grid.DataKeys[gvr.RowIndex].Value;
Run Code Online (Sandbox Code Playgroud)
我知道我可以改为传递那个ID CommandArgument,但我选择使用它DataKey来给我更大的灵活性.
我也知道可以为ID使用隐藏字段,但我认为这是一个我不想使用的黑客.
当我在Eclipse中为我的Android项目生成javadoc时,会有很多警告
cannot find symbol
symbol : class TextView
Run Code Online (Sandbox Code Playgroud)
和
warning - Tag @see: reference not found: android.app.Dialog
Run Code Online (Sandbox Code Playgroud)
我也试过了
-link http://developer.android.com/reference/
-link http://java.sun.com/j2se/1.4.2/docs/api/
Run Code Online (Sandbox Code Playgroud)
在Extra javadoc options (path names with white spaces must be enclosed in quotes)tab中Configure Javadoc Arguments(eclipse-> project-> Generate Javadoc的第三个对话框).
但只有-link http://java.sun.com/j2se/1.4.2/docs/api/工作即http://java.sun.com/j2se/1.4.2/docs/api/java/lang/String.html?is-external=true生成String类链接.但是android.app.Dialog,没有生成任何链接.
编辑
我也尝试android.jar在Select referenced archives and projects to which links should be generated
选项卡中选择Configure Javadoc arguments for standard doclet(eclipse-> project-> Generate Javadoc的第二个对话框),但这会创建本地android-sdk目录中文档的本地链接,而不是像Java API那样的在线Android引用.
我对协议和接口之间的区别感到困惑?他们似乎都在做同样的事情?
它是否像C#中的抽象一样,你需要实现它?
我有一些Html.ValidationSummary的问题.我不想在ValidationSummary中显示属性错误.当我设置Html.ValidationSummary(true)时,它不会显示来自ModelState的错误消息.在字符串的控制器操作中有一些异常时
MembersManager.RegisterMember(member);
Run Code Online (Sandbox Code Playgroud)
catch部分向ModelState添加错误:
ModelState.AddModelError("error", ex.Message);
Run Code Online (Sandbox Code Playgroud)
但ValidationSummary不显示此错误消息.当我设置Html.ValidationSummary(false)时,所有消息都显示,但我不想显示属性错误.我该如何解决这个问题?
这是我正在使用的代码:
模型:
public class Member
{
[Required(ErrorMessage = "*")]
[DisplayName("Login:")]
public string Login { get; set; }
[Required(ErrorMessage = "*")]
[DataType(DataType.Password)]
[DisplayName("Password:")]
public string Password { get; set; }
[Required(ErrorMessage = "*")]
[DataType(DataType.Password)]
[DisplayName("Confirm Password:")]
public string ConfirmPassword { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
控制器:
[HttpPost]
public ActionResult Register(Member member)
{
try
{
if (!ModelState.IsValid)
return View();
MembersManager.RegisterMember(member);
}
catch (Exception ex)
{
ModelState.AddModelError("error", ex.Message);
return View(member);
}
}
Run Code Online (Sandbox Code Playgroud)
视图:
<% using (Html.BeginForm("Register", "Members", FormMethod.Post, …Run Code Online (Sandbox Code Playgroud) 我有一个JavaScript对象,如:
appointerment= {ids: '15,16,17', appointments: {'15': '12.05.2010,14,05,2010'} }
Run Code Online (Sandbox Code Playgroud)
现在在约会对象我想添加类似的东西 '16': '21.05.2010'
什么是最好的方法呢?
我正在运行一个开源java项目,它由依赖树中的多个模块组成.所有这些模块都是subversion存储库中的子目录.对于我们项目的新手来说,在eclipse中手动设置所有这些工作需要做很多工作.
并非所有开发人员都使用eclipse.不过,我们正在考虑检查.classpath和.project文件,以帮助新手入门.这是一个好主意吗?或者这会导致这些文件中的持续冲突?是否有另一种方法可以使项目易于设置在eclipse上?
asp.net ×2
.net ×1
android ×1
asp.net-mvc ×1
css ×1
datakey ×1
eclipse ×1
events ×1
exception ×1
gridview ×1
ide ×1
ios ×1
java ×1
javadoc ×1
javascript ×1
load ×1
mouse ×1
object ×1
objective-c ×1
rowcommand ×1
save ×1
web-services ×1
winapi ×1