关于通过消息修改SystemDateTimePicker控件的值,并通知响应
我通过下面这段代码成功的跨进程从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