lol进入游戏自动退出软件再退出后,电脑分辨率被自动改变了

求大神&打开一个应用程序自动修改分辨率,退出时,再恢复原来的&_delphi吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:14,531贴子:
求大神&打开一个应用程序自动修改分辨率,退出时,再恢复原来的&收藏
怎么做 才能 打开一个应用程序,电脑自动修改分辨率,退出时,再恢复原来的桌面分辨率 我电脑屏幕23寸
现在电脑桌面分辨率
我需要做一个 DLL 链接
边锋(类似一个游戏)
的时候电脑自动修改分辨率改成
或者 都可以
因为电脑自带控制面板中有这俩选项当我关闭 边锋 程序的时候
电脑桌面分辨率
程序内部没有可修改分辨率选项,注册表中也没有Video.... reheight(高) rewidth(宽)选项 所以只能自己做个动态链接了 最好有大神顺便给我解释一下原理在线等,跪求大神
上海朵利蒙主要代理delphi及尼龙扎带,缠绕管,固定座及工具等全系列产品.delphi价格优惠,供货周期短.delphi欢迎电询:021- QQ:
自问自答?
网上抄来的
但是具体怎么做
你抄这段C#代码做什么
帮我走出困境
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtype
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
function ChangeResolution(w, h: Integer): Bvar
Form1: TForm1;implementation{$R *.dfm}var
orgWidth, orgHeight: Ifunction TForm1.ChangeResolution(w, h: Integer): Bvar
dm: TDevMbegin
dm.dmFields := DM_PELSWIDTH or DM_PELSHEIGHT;
dm.dmPelsWidth :=
dm.dmPelsHeight :=
Result := ChangeDisplaySettings(dm, CDS_UPDATEREGISTRY) = DISP_CHANGE_SUCCESSFUL;// OnCreate 事件procedure TForm1.FormCreate(Sender: TObject);begin
// 开始先保存当前分辨率
orgWidth := Screen.W
orgHeight := Screen.H
// 修改新的分辨率为
if not ChangeResolution() then
ShowMessage('修改分辨率失败');// OnDestroy 事件procedure TForm1.FormDestroy(Sender: TObject);begin
// 退出时还原分辨率
ChangeResolution(orgWidth, orgHeight);end.
谢谢,现在我有一个最基本的问题
我怎么才能确定代码是用什么后缀名
放在哪个文件夹 那段代码里
指定到我某个特定的应用程序 或是软件么
大神 再次显灵
我找了一个 现成的小插件8K 谢谢了
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或> 怎么让软件界面的布局随着显示器分辨率的变化而自动变化
怎么让软件界面的布局随着显示器分辨率的变化而自动变化
lirqin & &
发布时间: & &
浏览:5 & &
回复:8 & &
悬赏:0.0希赛币
如何让软件界面的布局随着显示器分辨率的变化而自动变化!RT:找到这几个过程  VB code  Public Sub ResizeInit(FormName As Form)
As Control
FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight
On Error Resume Next
For Each Obj In FormName
Obj.Tag = Obj.Left & &
& & Obj.Top & &
& & Obj.Width & &
& & Obj.Height & &
On Error GoTo 0 End Sub Public Sub ResizeForm(FormName As Form)
Dim Pos(4)
As Long, TempPos
As Long, StartPos
As Control
Dim ScaleX
As Double, ScaleY
If FormOldWidth = 0 Then
ScaleX = FormName.ScaleWidth / FormOldWidth
ScaleY = FormName.ScaleHeight / FormOldHeight
On Error Resume Next
For Each Obj In FormName
StartPos = 1
For i = 0 To 4
TempPos = InStr(StartPos, Obj.Tag, &
&, vbTextCompare)
If TempPos & 0 Then
Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)
StartPos = TempPos + 1
Pos(i) = 0
Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
On Error GoTo 0 End Sub 但是有缺点就是组合框不能自动适用!
老问题了,好像有个老外写的控件,也是做这个的。还有使用Tag属性重新设置的。
liruibing & &
10:29:50 & &
& & (0)(0)引用在坛子里看到过好几回类似的帖子了,组合框的高度只有靠改变文字大小来实现。
lirui6226648 & &
10:29:50 & &
& & (0)(0)引用
探讨引用:在坛子里看到过好几回类似的帖子了,组合框的高度只有靠改变文字大小来实现。引用:还有就是你的代码里没有考虑字体大小的改变。谢谢各位大大的关注这个文字大小 怎么控制能给点代码吗呵呵俺是VB菜鸟
lirui416227 & &
10:29:50 & &
& & (0)(0)引用
探讨但是有缺点就是组合框不能自动适用!
lirui6226648 & &
10:29:50 & &
& & (0)(0)引用
水哥又来了,
lirui416227 & &
10:29:50 & &
& & (0)(0)引用
参考一下,看是否有启发  VB code  Option Explicit
Private FormOldWidth
'保存窗体的原始宽度
Private FormOldHeight
'保存窗体的原始高度
'在调用ResizeForm前先调用本函数
Public Sub ResizeInit(FormName As Form)
As Control
FormOldWidth = FormName.ScaleWidth
FormOldHeight = FormName.ScaleHeight
On Error Resume Next
For Each Obj In FormName
If TypeOf Obj Is ComboBox Then
Obj.Tag = Obj.Left & & & & Obj.Top & & & & Obj.Width & & & & Obj.FontSize & & &
ElseIf TypeOf Obj Is CommandButton Then
Obj.Tag = Obj.Left & & & & Obj.Top & & & & Obj.Width & & & & Obj.Height & & & & Obj.FontSize & & &
ElseIf TypeOf Obj Is Line Then
Obj.Tag = Obj.X1 & & & & Obj.X2 & & & & Obj.Y1 & & & & Obj.Y2 & & & & Obj.BorderWidth & & &
Obj.Tag = Obj.Left & & & & Obj.Top & & & & Obj.Width & & & & Obj.Height & & &
On Error GoTo 0
'按比例改变表单内各元件的大小,在调用ReSizeForm前先调用ReSizeInit函数
Public Sub ResizeForm(FormName As Form)
Dim Pos(4)
As Long, TempPos
As Long, StartPos
As Control
Dim ScaleX
As Double, ScaleY
ScaleX = FormName.ScaleWidth / FormOldWidth
'保存窗体宽度缩放比例
ScaleY = FormName.ScaleHeight / FormOldHeight
'保存窗体高度缩放比例
On Error Resume Next
For Each Obj In FormName
StartPos = 1
For i = 0 To 5
'读取控件的原始位置与大小
TempPos = InStr(StartPos, Obj.Tag, & &, vbTextCompare)
If TempPos & 0 Then
Pos(i) = Mid(Obj.Tag, StartPos, TempPos - StartPos)
StartPos = TempPos + 1
Pos(i) = 0
'根据控件的原始位置及窗体改变大小的比例对控件重新定位与改变大小
If TypeOf Obj Is ComboBox Then
Obj.FontSize = Pos(3) * ScaleY
Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX
ElseIf TypeOf Obj Is CommandButton Then
Obj.FontSize = Pos(4) * ScaleY
Obj.Move Pos(0) * ScaleX, Pos(1) * ScaleY, Pos(2) * ScaleX, Pos(3) * ScaleY
ElseIf TypeOf Obj Is Line Then
Obj.X1 = Pos(0) * ScaleX
Obj.X2 = (Pos(1) - Pos(0)) * ScaleX + Obj.X1
Obj.Y1 = Pos(2) * ScaleY
Obj.Y2 = (Pos(3) - Pos(2)) * ScaleY + Obj.Y1
Obj.BorderWidth = Pos(4) * Sqr(ScaleX * ScaleX + ScaleY * ScaleY)
Obj.Move Pos(0) * ScaleX, Pos(1rint
liruichaun & &
10:29:50 & &
& & (0)(0)引用
这个题目问的有点别扭, 应该要问窗体内部控件自适应窗体大小, 因为分辨率变化, 只是像素颗粒大小的变化,人眼感觉大小不同, 其实尺寸是完全一样的Dim FrmW!, FrmH!, RatioX!, RatioY!Private Sub Form_Load()
FrmW = Me.Width: FrmH = Me.HeightEnd SubPrivate Sub Form_Resize()
Dim MyCon As Object
RatioX = Me.Width / FrmW: RatioY = Me.Height / FrmH
For Each MyCon In Me.Controls
With MyCon
.Left = Int(.Left * RatioX)
.Top = Int(.Top * RatioY)
.Width = Int(.Width * RatioX)
If Not TypeOf MyCon Is ComboBox And Not TypeOf MyCon Is DriveListBox Then .Height = Int(.Height * RatioY)
Next MyCon
FrmW = Me.Width: FrmH = Me.HeightEnd Sub
jathyfriend & &
10:29:50 & &
& & (0)(0)引用
其实比较而言,随分辨率变化布局还算小事,随系统字体大小变化才算麻烦事,君不见,很多朋友就是受困于这个,一边使用着1920像素的高分辨率显示器,一边系统字体还使用的是96dpi的小字体,因为不少程序不是这个字体就显示很不正常.jatherlyn & &
10:29:50 & &
& & (0)(0)引用
本问题标题:
本问题地址:
温馨提示:本问答中心的任何言论仅代表发言者个人的观点,与希赛网立场无关。请对您的言论负责,遵守中华人民共和国有关法律、法规。如果您的言论违反希赛网问答中心的规则,将会被删除。
暂无合适的专家
&&&&&&&&&&&&&&&
希赛网 版权所有 & &&}

我要回帖

更多关于 cf进入游戏自动退出 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信