Antonio
Como puedo cambiar la resoluci贸n del monitor al inicio de ejecutar la aplicaci贸n y dejarla conforme estaba al salir de la misma?
Entube buscando en el foro y no fue claro lo poco que encontr茅
Gracias por tu orientaci贸n
Jairo Barbosa
Antonio
Como puedo cambiar la resoluci贸n del monitor al inicio de ejecutar la aplicaci贸n y dejarla conforme estaba al salir de la misma?
Entube buscando en el foro y no fue claro lo poco que encontr茅
Gracias por tu orientaci贸n
Jairo Barbosa
Jaba
Aqui en el foro hay una clase para eso, yo particip茅 en ese hilo que lo inici贸 Manuel Valdenebro ( creo ) e inclusive lo utiliz茅 en una aplicaci贸n. En Fivewin Brasil, en Dicas, se encuentra esta clase pero hab铆a que hacer unas modificaciones.
Saludos
horacio wrote:Jaba
Aqui en el foro hay una clase para eso, yo particip茅 en ese hilo que lo inici贸 Manuel Valdenebro ( creo ) e inclusive lo utiliz茅 en una aplicaci贸n. En Fivewin Brasil, en Dicas, se encuentra esta clase pero hab铆a que hacer unas modificaciones.
Saludos
Jaba
Estoy fuera de mi ciudad. El martes regreso y te lo envio. Saludos
horacio wrote:Jaba
Estoy fuera de mi ciudad. El martes regreso y te lo envio. Saludos
jaba;
Disculpame que no te respond铆 en tiempo y forma pero tuve algunos inconvenientes con mi proveedor de internet. Aqui te mando el c贸digo
Function CambiaResolucion( nAncho, nAlto, lPreguntar)
Local oDevMode
Local lPosible
Local cBuffer
Local lCamReso := .f.
Default nAncho := GetSysMetrics( 0 ), nAlto := GetSysMetrics( 1 ), lPreguntar := .t.
Struct oDevMode
Member cDevName AS STRING LEN 32
Member nSpecVer AS WORD
Member nDrvVer AS WORD
Member nSize AS WORD
Member nDrvExtra AS WORD
Member nFields AS DWORD
Member nOrientat AS WORD
Member nPaperSiz AS WORD
Member nPaperLen AS WORD
Member nPaperWid AS WORD
Member nScale AS WORD
Member nCopies AS WORD
Member nDefSrc AS WORD
Member nPrnQlty AS WORD
Member nColor AS WORD
Member nDuplex AS WORD
Member nYResolut AS WORD
Member nTTOpt AS WORD
Member nCollate AS WORD
Member cFormName AS STRING LEN 32
Member nUnusePad AS WORD
Member nBitsPPel AS DWORD
Member nPelWidth AS DWORD
Member nPelHeigh AS DWORD
Member nDisFlags AS DWORD
Member nDisFreq AS DWORD
Endstruct
cBuffer := oDevMode : cBuffer
// Comprueba si es posible cambiar la resoluci贸n
lPosible := EnumDisplaySettings(0, 0, @cBuffer)
// Si es posible cambiar la resoluci贸n
If( lPosible )
If( lPreguntar )
If( !MsgYesNo("Desea cambiar la resoluci贸n?", "Atenci贸n") )
Return lCamReso
end
end
oDevMode:nFields := nOr( DM_PELSWIDTH, DM_PELSHEIGHT )
oDevMode:nPelWidth := nAncho
oDevMode:nPelHeigh := nAlto
cBuffer:=oDevMode:cBuffer
Try
ChangeDisplaySettings(@cBuffer, 4)
lCamReso := .T.
Catch
MsgStop("Modo no soportado", "Error" )
End
else
MsgStop("Modo no soportado", "Error" )
end
Return lCamReso
DLL32 FUNCTION EnumDisplaySettings(lpszDeviceName AS DWORD,;
iModeNum AS DWORD, ;
@lpDevMode AS LPSTR) AS BOOL PASCAL;
FROM "EnumDisplaySettingsA" LIB "User32.dll"
DLL32 FUNCTION ChangeDisplaySettings(@lpDevMode AS LPSTR,;
dwFlags AS DWORD) AS DWORD;
FROM "ChangeDisplaySettingsA" LIB "User32.dll"
DLL32 FUNCTION ExitWindowsEx(uFlags AS DWORD,;
dwReserved AS DWORD) AS DWORD PASCAL;
LIB "user32.dll"
Prob茅 tu soluci贸n y funciona perfectamente
Saludos
horacio wrote:jaba;
Disculpame que no te respond铆 en tiempo y forma pero tuve algunos inconvenientes con mi proveedor de internet. Aqui te mando el c贸digo
#define DM_PELSWIDTH nHex("80000")
#define DM_PELSHEIGHT nHex("100000")
Function CambiaResolucion( nAncho, nAlto, lPreguntar)
Local oDevMode
Local lPosible
Local cBuffer
Local lCamReso := .f.
Default nAncho := GetSysMetrics( 0 ), nAlto := GetSysMetrics( 1 ), lPreguntar := .t.
Struct oDevMode
Member cDevName AS STRING LEN 32
Member nSpecVer AS WORD
Member nDrvVer AS WORD
Member nSize AS WORD
Member nDrvExtra AS WORD
Member nFields AS DWORD
Member nOrientat AS WORD
Member nPaperSiz AS WORD
Member nPaperLen AS WORD
Member nPaperWid AS WORD
Member nScale AS WORD
Member nCopies AS WORD
Member nDefSrc AS WORD
Member nPrnQlty AS WORD
Member nColor AS WORD
Member nDuplex AS WORD
Member nYResolut AS WORD
Member nTTOpt AS WORD
Member nCollate AS WORD
Member cFormName AS STRING LEN 32
Member nUnusePad AS WORD
Member nBitsPPel AS DWORD
Member nPelWidth AS DWORD
Member nPelHeigh AS DWORD
Member nDisFlags AS DWORD
Member nDisFreq AS DWORD
Endstruct
cBuffer := oDevMode : cBuffer
// Comprueba si es posible cambiar la resoluci贸n
lPosible := EnumDisplaySettings(0, 0, @cBuffer)
// Si es posible cambiar la resoluci贸n
If( lPosible )
If( lPreguntar )
If( !MsgYesNo("Desea cambiar la resoluci贸n?", "Atenci贸n") )
Return lCamReso
end
end
oDevMode:nFields := nOr( DM_PELSWIDTH, DM_PELSHEIGHT )
oDevMode:nPelWidth := nAncho
oDevMode:nPelHeigh := nAlto
cBuffer:=oDevMode:cBuffer
Try
ChangeDisplaySettings(@cBuffer, 4)
lCamReso := .T.
Catch
MsgStop("Modo no soportado", "Error" )
End
else
MsgStop("Modo no soportado", "Error" )
end
Return lCamReso
DLL32 FUNCTION EnumDisplaySettings(lpszDeviceName AS DWORD,;
iModeNum AS DWORD, ;
@lpDevMode AS LPSTR) AS BOOL PASCAL;
FROM "EnumDisplaySettingsA" LIB "User32.dll"
DLL32 FUNCTION ChangeDisplaySettings(@lpDevMode AS LPSTR,;
dwFlags AS DWORD) AS DWORD;
FROM "ChangeDisplaySettingsA" LIB "User32.dll"
DLL32 FUNCTION ExitWindowsEx(uFlags AS DWORD,;
dwReserved AS DWORD) AS DWORD PASCAL;
LIB "user32.dll"
Prob茅 tu soluci贸n y funciona perfectamente
Saludos
existe actualmente alguna funcion o libreria que cambie la resolucion de la pantalla cuando uno entre a un sistema y al salir restaure la del escritorio de windows, si es que son distintas
elmoiquique wrote:existe actualmente alguna funcion o libreria que cambie la resolucion de la pantalla cuando uno entre a un sistema y al salir restaure la del escritorio de windows, si es que son distintas
Hola a todos.
Esto est谩 muy interesante... Ahora bien, si no es mucho pedir.
A alguien se le ocurre c贸mo hacer para cambiar el tama帽o de fuente tambi茅n?
Ejemplo:
Pasar de 800 x 600 Fuentes chichas (96ppp) a 1024 x 768 Fuentes grandes (120ppp)
Lograr esto ser铆a un gol de media cancha!!!
Si alguien tiene algo hecho al respecto ser铆a buen铆simo que lo comparta.
Desde ya muchas gracias.
Saludos, desde Argentina, Esteban.
amigo,
isso nao caberia para o usuario deliberar?
jah fiz algo parecido, o usuario diz que tem problema de vista e tals...
茅 complicado
eu fa莽o o seguinte, quando vejo q a resolucao eh incompat铆vel com a que o sistema pretende, mando um msgalert...
na realidade o computador eh do cliente...