Themes

Тема в разделе "WASM.BEGINNERS", создана пользователем Semiono, 8 июн 2008.

  1. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    Код (Text):
    1. format PE GUI 5.0
    2. include 'c:\a\apps\fasm\include\win32ax.inc'
    3. section '.code' code readable executable
    4. start:  invoke  ShellExecute,0,0,"rundll32.exe","Shell32.dll,Control_RunDLL desk.cpl desk,@Themes /Action:OpenTheme /File:""%systemroot%\Resources\Themes\Blackbox.theme",0,0
    5.         invoke  ExitProcess,0
    6. .end    start
    Пожалуйста помогите довести до ума.
    Как в фасме указать в данном случае %systemroot%
    И в этом коде ещё надоб кнопку "OK" нажать, тоже надо.
    Или альтернативный код если это можно более красиво написать?
    :dntknw:
     
  2. Sol_Ksacap

    Sol_Ksacap Миша

    Публикаций:
    0
    Регистрация:
    6 мар 2008
    Сообщения:
    623
    Semiono
    Один может получить директорию с виндой используя функцию GetWindowsDirectory(buffer, BufferLength)...


    Существует ли документированный способ применить определённую тему?
     
  3. Semiono

    Semiono Member

    Публикаций:
    0
    Регистрация:
    27 ноя 2005
    Сообщения:
    793
    У меня только скрипты есть для AutoIt и JavaScript движков
    Но захотелось это в асм посмотреть... хотяб masm32 код... имхо меньше коду будет наверное.
    Вообче написалбы ктнибудь консольный загрузчик тем, было бы полезно! Я то не потяну наверное.
    Зато благо что есть хоть консольный тулс изменять разрешение экрана, где-то я видел.
    Код (Text):
    1. Dim $var1 = '"' & @WindowsDir & '\'
    2.  
    3. ;launch control panel applet to change desktop theme
    4. Run(@ComSpec & " /c " & 'rundll32.exe Shell32.dll,Control_RunDLL desk.cpl desk,@Themes /Action:OpenTheme /File:' & $var1 & 'resources\themes\windowsclassic.theme"', "", @SW_HIDE)
    5.  
    6. ;wait for Disply Properties window to open, timeout after 3 sec
    7. WinWait("Display Properties", "",3)
    8.  
    9. ;send Enter to open applet
    10. Send("{ENTER}")
    11.  
    12. ;Exit application
    13. Exit
    Код (Text):
    1. // create shell object
    2. objShell = new ActiveXObject("WScript.Shell");
    3.  
    4. // start themes applet, load desired theme, and activate this window
    5. objShell.Run('rundll32.exe Shell32.dll,Control_RunDLL desk.cpl desk,@Themes /Action:OpenTheme /File:"C:\\zzz\\Resources\\Themes\\Windows Classic.theme"',1);
    6.  
    7. // wait for themes window
    8. WScript.Sleep(1600);
    9.  
    10. // send the 'enter' key to accept this theme
    11. objShell.Sendkeys("{ENTER}");