关于通过消息修改SystemDateTimePicker控件的值,并通知响应

qhgary 2012-04-17 11:02:35
我通过下面这段代码成功的跨进程从Excel里面给某个另外的应用程序中的SystemDateTimePicker控件发送了DTM_SETSYSTEMTIME消息,而且该控件的界面已经变成我设置的值。但是可能该应用程序内部还有变量在维护该控件的值没有达到同步更新。有什么办法么?我有尝试过WM_NOTIFY,但是通过SPY++总是发现发送不过去不知道什么原因...

Dim sm As SYSTEMTIME

sm.wYear = 1982
sm.wMonth = 10
sm.wDay = 2

GetWindowThreadProcessId hControl, pid

hProcess = OpenProcess(PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE, False, pid)
pStrBufferMemory = VirtualAllocEx(hProcess, ByVal 0&, LenB(sm), MEM_COMMIT, PAGE_READWRITE)

If (WriteProcessMemory(hProcess, pStrBufferMemory, sm, LenB(sm), 0)) Then
SendMessage hControl, DTM_SETSYSTEMTIME, 0, pStrBufferMemory
End If

VirtualFreeEx hProcess, pStrBufferMemory, 0, MEM_RELEASE
CloseHandle hProcess
...全文
235 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

5,139

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 Office开发/ VBA
社区管理员
  • Office开发/ VBA社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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