Zitat von Mr. Becknacktoman Wie macht man das eigentlich, dass die Auflösung kleiner ist? (Oder geht das nur bei der illegalen Version?)... Script über dem Main und das einfügen Code: #============================================================================== # ■ Win32API #------------------------------------------------------------------------------ #============================================================================== class Win32API #-------------------------------------------------------------------------- # - define constant #-------------------------------------------------------------------------- GAME_INI_FILE = ".\\Game.ini" # Ort der "Game.ini" Datei HWND_TOPMOST = 0 # Fenster immer aktiv HWND_TOP = -1 # Fenster nur aktiv wenn benutzt SWP_NOMOVE = 0 # Fenster Position kann geändert werden #-------------------------------------------------------------------------- # - Win32API.GetPrivateProfileString // Spiel Titel in der Game.ini #-------------------------------------------------------------------------- def Win32API.GetPrivateProfileString(section, key) val = "\0"*256 gps = Win32API.new('kernel32', 'GetPrivateProfileString',%w(p p p p l p), 'l') gps.call(section, key, "", val, 256, GAME_INI_FILE) val.delete!("\0") return val end #-------------------------------------------------------------------------- # - Win32API.FindWindow // Finde RGSS Fenster #-------------------------------------------------------------------------- def Win32API.FindWindow(class_name, title) fw = Win32API.new('user32', 'FindWindow', %(p, p), 'i') hWnd = fw.call(class_name, title) return hWnd end #-------------------------------------------------------------------------- # - Win32API.SetWindowPos // Fenster Postition und Größe #-------------------------------------------------------------------------- def Win32API.SetWindowPos(w, h) @screen_pos_x = 200 #Postion X Achse @screen_pos_y = 200 #Postion Y Achse title = Win32API.GetPrivateProfileString("Game", "Title") hWnd = Win32API.FindWindow("RGSS Player", title) swp = Win32API.new('user32', 'SetWindowPos', %(l, l, i, i, i, i, i), 'i') win = swp.call(hWnd, HWND_TOP, @screen_pos_x, @screen_pos_y, w + 6, h + 32, 0) return win end #-------------------------------------------------------------------------- # - Win32API.client_size // Überprüfe Höhe und Breite #-------------------------------------------------------------------------- def Win32API.client_size title = Win32API.GetPrivateProfileString("Game", "Title") hWnd = Win32API.FindWindow("RGSS Player", title) rect = [0, 0, 0, 0].pack('l4') Win32API.new('user32', 'GetClientRect', %w(l p), 'i').call(hWnd, rect) width, height = rect.unpack('l4')[2..3] return width, height end end #============================================================================== # - Erstelle neues Fenster #============================================================================== $width = 320 * 2 #Breite des Fensters $height = 240 * 2 #Höhe des Fensters win = Win32API.SetWindowPos($width, $height) if(win == 0) p "Fehler bei der Größen Änderung" #Fehlermeldung falls die Änderung nicht funktioniert. end
#============================================================================== # ■ Win32API #------------------------------------------------------------------------------ #============================================================================== class Win32API #-------------------------------------------------------------------------- # - define constant #-------------------------------------------------------------------------- GAME_INI_FILE = ".\\Game.ini" # Ort der "Game.ini" Datei HWND_TOPMOST = 0 # Fenster immer aktiv HWND_TOP = -1 # Fenster nur aktiv wenn benutzt SWP_NOMOVE = 0 # Fenster Position kann geändert werden #-------------------------------------------------------------------------- # - Win32API.GetPrivateProfileString // Spiel Titel in der Game.ini #-------------------------------------------------------------------------- def Win32API.GetPrivateProfileString(section, key) val = "\0"*256 gps = Win32API.new('kernel32', 'GetPrivateProfileString',%w(p p p p l p), 'l') gps.call(section, key, "", val, 256, GAME_INI_FILE) val.delete!("\0") return val end #-------------------------------------------------------------------------- # - Win32API.FindWindow // Finde RGSS Fenster #-------------------------------------------------------------------------- def Win32API.FindWindow(class_name, title) fw = Win32API.new('user32', 'FindWindow', %(p, p), 'i') hWnd = fw.call(class_name, title) return hWnd end #-------------------------------------------------------------------------- # - Win32API.SetWindowPos // Fenster Postition und Größe #-------------------------------------------------------------------------- def Win32API.SetWindowPos(w, h) @screen_pos_x = 200 #Postion X Achse @screen_pos_y = 200 #Postion Y Achse title = Win32API.GetPrivateProfileString("Game", "Title") hWnd = Win32API.FindWindow("RGSS Player", title) swp = Win32API.new('user32', 'SetWindowPos', %(l, l, i, i, i, i, i), 'i') win = swp.call(hWnd, HWND_TOP, @screen_pos_x, @screen_pos_y, w + 6, h + 32, 0) return win end #-------------------------------------------------------------------------- # - Win32API.client_size // Überprüfe Höhe und Breite #-------------------------------------------------------------------------- def Win32API.client_size title = Win32API.GetPrivateProfileString("Game", "Title") hWnd = Win32API.FindWindow("RGSS Player", title) rect = [0, 0, 0, 0].pack('l4') Win32API.new('user32', 'GetClientRect', %w(l p), 'i').call(hWnd, rect) width, height = rect.unpack('l4')[2..3] return width, height end end #============================================================================== # - Erstelle neues Fenster #============================================================================== $width = 320 * 2 #Breite des Fensters $height = 240 * 2 #Höhe des Fensters win = Win32API.SetWindowPos($width, $height) if(win == 0) p "Fehler bei der Größen Änderung" #Fehlermeldung falls die Änderung nicht funktioniert. end
Foren-Regeln