Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
ReadDirectoryChangesW инициировать срабатывание без реальной записи в синхронном режиме
|
|||
|---|---|---|---|
|
#18+
Всем доброго дня, хотелось бы работать с этой функцией в синхронном режиме т.к. асинхронный сильно всё усложняет ( например ). Ход мысли такой, если мы имеем THandle папки логично было бы предположить что ему можно послать сообщение которое приведёт к срабатыванию ReadDirectoryChangesW. Можно конечно что то тупо записать в папку но это подходит только для случая если "слушатель" имеет право на запись в эту папку. Среди флагов фильтра на события в папке: FILE_NOTIFY_CHANGE_FILE_NAME or FILE_NOTIFY_CHANGE_DIR_NAME or FILE_NOTIFY_CHANGE_ATTRIBUTES or FILE_NOTIFY_CHANGE_SIZE or FILE_NOTIFY_CHANGE_LAST_WRITE or FILE_NOTIFY_CHANGE_LAST_ACCESS or FILE_NOTIFY_CHANGE_CREATION or FILE_NOTIFY_CHANGE_SECURITY на роль выключателя наверное подходят только FILE_NOTIFY_CHANGE_LAST_ACCESS т.к. остальные требуют права на запись (хотя возможно и этот флаг требует права на запись, ещё не проверил). Из описания функции сделать однозначный вывод каким сообщением можно вывести её из ожидания сделать не получается. Тут и тут человек разбирался с проблеммой но всё выглядит немного запутанно. Хорошо было бы заглянуть в исходники ReadDirectoryChangesW, возможно тогда можно было бы понять как обойти эту проблему и вывести ReadDirectoryChangesW из режима ожидания через PostMessage или ещё как. п.с. TShellChangeNotifier не подходит т.к. вроде не даёт информации о том какой файл изменился. Спасибо если кто подскажет хорошую идею. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2021, 13:14 |
|
||
|
ReadDirectoryChangesW инициировать срабатывание без реальной записи в синхронном режиме
|
|||
|---|---|---|---|
|
#18+
hlopotun хотелось бы работать с этой функцией в синхронном режиме Ну используйте тогда FindFirstChangeNotification ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2021, 13:20 |
|
||
|
ReadDirectoryChangesW инициировать срабатывание без реальной записи в синхронном режиме
|
|||
|---|---|---|---|
|
#18+
Вот код, работающий уже лет 15 Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2021, 13:27 |
|
||
|
ReadDirectoryChangesW инициировать срабатывание без реальной записи в синхронном режиме
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2021, 13:35 |
|
||
|
ReadDirectoryChangesW инициировать срабатывание без реальной записи в синхронном режиме
|
|||
|---|---|---|---|
|
#18+
kapas, _Vasilisk_, спасибо за пример и ссылку. Углубился в изучение ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2021, 14:02 |
|
||
|
ReadDirectoryChangesW инициировать срабатывание без реальной записи в синхронном режиме
|
|||
|---|---|---|---|
|
#18+
Любой асинхронный режим легко превращается в синхронный втыкновением WaitForMultipleObjects(), куда точно так же легко добавляется возможность его выбить с помощью дополнительного события. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.06.2021, 14:36 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=40079832&tid=2037225]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
167ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 11ms |
| total: | 258ms |

| 0 / 0 |
