Получение имени файла без расширения:
import os
print(os.path.splitext("path_to_file")[0])
Что касается вашей проблемы с импортом, вы решаете его следующим образом:
from os.path import basename
# now you can call it directly with basename
print(basename("/a/b/c.txt"))
Что ж, согласно документации для WM_COMMAND, lParam должен быть дескриптором окна элемента управления (похоже, вы передаете его в wParam).
wParam должен иметь свой старший порядок слово, равное BN_CLICKED, и его младшее слово, равное идентификатору элемента управления.
(Вы можете использовать GetWindowLong с GWL_ID, чтобы получить это, но, предположительно, его IDCANCEL.)
Почему бы просто не отправить сообщение WM_SYSCOMMAND с параметром SC_CLOSE? Это должно закрыть окно.
Почему бы вместо этого не отправить сообщение WM_CLOSE?