"Решением проблемы могла бы быть явная загрузка нужных курсоров из системной dll, но я что-то не могу их найти"
и
"Проблема в том, как получить в любой момент времени курсор, который был там ДО замены."
немного разные вещи. А у тебя какая система?
ОК, переформулирую. Требуется в любой момент времени восстановить без перезагрузки курсоры, отображаемые сразу после инсталляции ОС. Сделать это нужно выборочно для одного или нескольких курсоров, не затрагивая остальные.
У меня W2k, но работать должно везде, начиная с Windows 95.
Под w2k ты найдёшь "изменённые" курсоры в
HKEY_CURRENT_USER\Control Panel\Cursors
имя поля - имя курсора, параметр - из какого файла взят. Думаю разберёшся
Вот если бы изменения, вносимые в эту часть реестра, отображались мгновенно, тогда и проблем бы не было. А так требуется перезагрузка, а это неприемлемо.
Есть в Win - кнопочка, которая восстонавливает системный набор.
Это именно то, что нужно. У кого-нибудь есть исходник обработчика этой кнопочки?
В асме я, к сожалению, не силен, поэтому дизассемблирование пока не для меня.
Как и в любом случае - можно сделать перед изменением запоминание структуры системных курсоров в буфер, или в файл.
Насчет файла мысль интересная. Кто знает, как сохранить в файл курсор, имея только HCURSOR для него?