|
|
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
Добрый день! Подскажите, добрые люди, мучаюсь третий день. После обновления на 1803 в wind10 (ну, у нас по крайней мере) перестали работать все программы, использующие WinAPI. Это две программы от сканеров и самописная. На этих машинах стоит The Bat, но после появления проблемы испробовали и Outlook, и Thunderbird (три разные машины, везде win10 и бат, до обновления работало). Процедура создания исходящего письма была найдена на просторах еще лет 10 назад и работала все это время, и сейчас продолжает работать на 7ке. А вот на 10ке - фигу. MAPISendMail возвращает код 2 MAPI_E_FAILURE One or more unspecified errors occurred. No message was sent. Переписал модуль под использование MAPISendMailW Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. MapiSendMailW возвращает ту же 2 MAPI_E_FAILURE Блин, что ему надо, а, подскажите? :( PS меняли программы по умолчанию, вот так выглядит реестр на данный момент: Код: xml 1. 2. 3. 4. 5. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 16:26 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
Использующие WinAPI Simple MAPI :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 16:28 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
Программа 32-x битная? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 16:30 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
Aniskin, да. Пробовали 32битный Бат, 32битный Thunderbird - тот же результат ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 16:31 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
В уведомлениях отладчика DLL-то загружается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 16:32 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
GunSmoker, Код: pascal 1. 2. или как-то еще надо посмотреть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 16:36 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
View / Debug Windows / Event log. Ну или Process Monitor-ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 16:39 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
Нужно смотреть, загружена ли TBMapi32.dll ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 16:43 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
И посмотри ветку HKEY_CURRENT_USER\Software\Clients\Mail, а не HKEY_LOCAL_MACHINE\SOFTWARE\Clients\Mail. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 16:45 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
И еще вспомнил. Не знаю, какая у тебя версия The Bat, но старые версии имели неправильную реализацию MAPISendMailW, ошибка исправлена начиная с версии 7.4.16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 16:56 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
Благодарю за варианты! Модуль dll грузится: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. Но не вижу чтобы грузился TBMAPI. Или тут и не покажет? Ветка в CURRENT_USER пустая, и какая-то разная реакция именно при изменении ветки в LOCAL_MACHINE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 17:01 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
Лог нужно смотреть как минимум после вызова MAPISendMailW. И все же определись, у тебя активен 32 битный MAPI провайдер или 64 битный? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 17:08 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
Aniskin, да, у нас 7.1... Но тогда вопросы :) Почему раньше работала обычная функция с PAnsiChar MAPISendMail, а сейчас нет. Почему сейчас не работает и Thunder, и Outlook даже с MAPISendMailW. И если бы только у меня накрылось... а накрылось то три машины и именно после обновления. И не только моя программа, но и другие, которые так же открывали диалоги. Не нашел чтобы еще кто-то жаловался, значит что-то у меня :( Винда 64битная. Бат стоит 64битный. Его tbmapi64.dll и указал (но пробовал и 32). Программа 32битная. Но имхо этот вопрос рассматривать не надо, потому что раньше работало :) При тех же разрядностях. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 17:15 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
DevillioПочему раньше работала обычная функция с PAnsiChar MAPISendMail, а сейчас нет. Почему сейчас не работает и Thunder, и Outlook даже с MAPISendMailW.Потому что где то у кого то что изменилось в окружении. DevillioИ если бы только у меня накрылось... а накрылось то три машины и именно после обновления.У меня Win10 со всеми обновлениями, все как работало, так и работает. DevillioНе нашел чтобы еще кто-то жаловался, значит что-то у меня :(Дебаггер в руки и изучать, что же у тебя. DevillioВинда 64битная. Бат стоит 64битный. Его tbmapi64.dll и указал (но пробовал и 32). Программа 32битная. Программа 32битная. Но имхо этот вопрос рассматривать не надо32 битные программы могут использовать только 32 битный MAPI провайдер. 64 битные программы могут использовать только 64 битный MAPI провайдер. Соответственно, если у тебя 32 битная программа, то должен быть установлен 64 битный MAPI провайдер. Но если ты считаешь это не существенным, то ок, я устраняюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 17:26 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
* Соответственно, если у тебя 32 битная программа, то должен быть установлен 32 битный MAPI провайдер * ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 17:26 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
Aniskin, благодарю за помощь. Поставил на "чистую" винду все (там все пошло), заметил что в реестре почтовое приложение по умолчанию указывается в ветке "CURRENT_USER", а сами описания почтовых программ - в "LOCAL_MACHINE". Еще снес 64битный Бат, в реестре поделал замены на bat32 - и все пошло! Т.е. как бы "32 битный MAPI провайдер" установлен, если вашими словами. Для проверки свое приложение пересобрал для платформы x64 - так же все работает. Так что не знаю )) должно пахать и так и так, и по логике тоже - а иначе во всей винде будет эта функция доступна или 32битным, или 64битным, а должно всем. Так что проблема была, похоже, в расположении указания на приложение по умолчанию. Сори за топик в Delphi, проблема оказалась не текстах ))) Еще раз благодарю всех за помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 19:09 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
Devillioдолжно пахать и так и так, и по логике тоже - а иначе во всей винде будет эта функция доступна или 32битным, или 64битным, а должно всем. Я извиняюсь, я совсем забыл, что MAPISendMail является исключением и для нее Windows создает proxy процесс. https://msdn.microsoft.com/en-us/library/office/dd941355.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 19:30 |
|
||
|
MapiSendMailW в Windows 10
|
|||
|---|---|---|---|
|
#18+
https://msdn.microsoft.com/en-us/library/dd296734(v=vs.85).aspx The use of Simple MAPI is discouraged. It may be altered or unavailable in subsequent versions of Windows Как-то так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2018, 19:47 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39648256&tid=2040861]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
190ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 235ms |
| total: | 497ms |

| 0 / 0 |
