|
本帖最后由 tryone05 于 2023-4-9 17:42 编辑
楼主你好,我将你的listview实列搬到我64位环境里,无法正常修改处理过程:即 SubClass函数下lpfnOld = SetWindowLongPtr(hwnd, GWL_WNDPROC, lpfnNew)方法是失败的,用GetLastError查看失败代码1413,我的GWL_WNDPROC并没有修改,还是(-4)。而Addressof WndProc的值特别大不知道是不是这个地方的问题,你程序的SetWindowLong我已转换成SetWindowLongPtr,SubClass函数的lpfnNew参数也改为longptr类型,程序别的地方都没报错,就这个地方失败导致无法正常。
另外我也用SPY查看了hwnd的数据,在调用SetWindowLongPtr时都是正常的,我测试的时frame的列子,该hwnd的数据确实是frame的句柄
Addressof WndProc的值2197544594500,数据这么大,是不是不正常。
ListView1_DblClick下的Call SubClass(m_hwndTB, AddressOf WndProc)我并没有修改
晕了
|
|