|
|
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
Странные странности... В потоке получаю список заголовков окон. И если есть конект пишу в бд, если нету пишу в файл. Но почему то работает раз через раз. Нету ни ошибок, ни чего. Просто иногда записывает и всё ок. Потом вырубает и запускаю, и он ни чего не пишет. Тупо заходит в секцию if IsWindowVisible(Wnd) and ... и собственно типо ничего не нашел. И вот собственно вопрос: с чем это может быть связано?! Я уже просто не знаю. Я уже и новый проект создал и там всё ок работает(без потока, пустая форма с листом и кнопкой). Код: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 10:33:11 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
kamero, стесняюсь спросить, а обращение к gui из потока синхронизируется? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:08:11 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
goldmi45, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:21:06 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
kamero, Всё как бы работает. Но вот 3 раза всё ок пишет. А при другом запуске я тупо не попадаю дальше if IsWindowVisible(Wnd) and... И соответственно никакие данные не записываются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:24:43 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
gui нету. Это служба. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:30:37 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
kamero, CoInitialize - это не синхронизация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:31:11 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
goldmi45, Я знаю. Но проблема не в этом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:34:36 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
Я навсегда для себя решил, что обращение к окнам = обращение к gui. Возможно то, что у вас работает через раз, это как раз проблема синхронизации. Могу ошибаться. Зачем сделано через поток, если всё равно это другое приложение, к тому же служба? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 11:36:11 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
kamero, ... Return value .... If the function succeeds, the return value is the length, in characters, of the copied string, not including the terminating null character. If the window has no title bar or text, if the title bar is empty, or if the window or control handle is invalid, the return value is zero... To get extended error information, call GetLastError . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 12:21:44 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
тупо не попадаю, М... не знаю как правильно объяснить. Но как то так. Wnd := GetWindow(handle, gw_HWndFirst); Кажется собака зарыта где-то здесь. Так как у меня служба, то handle у меня. По этому в основном потоке я не могу запустить эту фичу. А вот в потоке я не знаю откуда он берет этот handle(Вот тут и зарыто что-то). И соответственно он иногда находит, что-то непонятное и поэтому раз через раз работает. И вот как быть в этом случаи?! От чего отталкиваться?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 13:06:02 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
kameroА вот в потоке я не знаю откуда он берет этот handle(Вот тут и зарыто что-то). Может потока? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 13:40:57 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
wadman, Так то оно так. Но поток это по идее дочерний. И когда я делаю gw_HWndFirst он по идее ковыряется в самом потоке иногда(ищет окна). А там их нет. По этому и результат 0(по этому дальше if не идет). А иногда поток как-то оказывается хз где и всё работает. Сложно объяснить. Просто я уже не знаю куда рыть)) GetLastError ни чего не дал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 13:49:56 |
|
||
|
Странные странности... Получение заголовков окон.
|
|||
|---|---|---|---|
|
#18+
Почитай про EnumWindows ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.01.2018, 13:57:48 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39582460&tid=2041355]: |
0ms |
get settings: |
7ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
75ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
| others: | 235ms |
| total: | 430ms |

| 0 / 0 |
