请问,如何设置另外一个进程的SysDateTimePick32控件的日期?

Just4life 2010-10-29 04:51:52
我目前使用了下面的办法,无法通过:
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern IntPtr SendMessage(IntPtr hWnd, int nMsg, int wParam, SYSTEMTIME dt);

[StructLayout(LayoutKind.Sequential)]
public class SYSTEMTIME
{
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek;
public ushort wDay;
public ushort wHour;
public ushort wMinute;
public ushort wSecond;
public ushort wMilliseconds;
}

private const int DTM_SETSYSTEMTIME = 0x00001002;
private const int GDT_VALID = 0;

SYSTEMTIME dt = new SYSTEMTIME();
SendMessage(ptrHwnd, DTM_SETSYSTEMTIME, GDT_VALID, dt);
...全文
348 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Just4life 2010-11-02
  • 打赏
  • 举报
回复
使用C#中的SendKey方法,就可以实现
cdglynn 2010-11-01
  • 打赏
  • 举报
回复
得用钩子函数吧,不是什么程序都可以给别的进程发消息的
Just4life 2010-11-01
  • 打赏
  • 举报
回复
我自己已经找到办法解决。
Just4life 2010-11-01
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 liuwei2500 的回复:]
你发送消息之后在进程里面有没有响应消息并做相应的处理呢?如果没有,那且不是做了无用功》?
[/Quote]

这个消息,是SysDateTikePick32控件自身处理的一个消息,不存在消息响应的问题

我现在是发送过去后,界面上还是原来的那个日期,没有变成我想设置的日期
liuwei2500 2010-10-29
  • 打赏
  • 举报
回复
你发送消息之后在进程里面有没有响应消息并做相应的处理呢?如果没有,那且不是做了无用功》?

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧