@@ -75,7 +75,7 @@ public void SetUserData(Setting userData)
7575 /// <summary>
7676 /// scrcpy版本
7777 /// </summary>
78- public static string scrcpyVersion = "scrcpy_win32_v1_17 " ;
78+ public static string scrcpyVersion = "scrcpy_win32_v1_18 " ;
7979
8080 /// <summary>
8181 /// scrcpy路径
@@ -86,6 +86,7 @@ public void InitPdone()
8686 {
8787
8888 setting = GetUserData ( ) ;
89+ Size = new Size ( 658 , 340 ) ;
8990
9091 Application . ApplicationExit += ( sender , e ) =>
9192 {
@@ -106,6 +107,9 @@ public void InitPdone()
106107 #region 设置标题
107108 Assembly asm = Assembly . GetExecutingAssembly ( ) ;
108109 FileVersionInfo fvi = FileVersionInfo . GetVersionInfo ( asm . Location ) ;
110+ //Text = $"Free Control v{fvi.ProductVersion}";
111+ //ledTitle.Enabled = false;
112+ //ledTitle.Visible = false;
109113 ledTitle . Text = $ "Free Control v{ fvi . ProductVersion } ";
110114 ledTitle . CharCount = 19 ;
111115 ledTitle . MouseDown += ( sender , e ) => DragWindow ( ) ;
@@ -122,14 +126,15 @@ public void InitPdone()
122126 tabHome . ImageIndex = 0 ;
123127 tabSetting . ImageIndex = 2 ;
124128 #endregion
125-
126129 #region 设置深色模式
127130 switchDarkMode . ValueChanged += ( object sender , bool value ) =>
128131 {
129132 var tabBackColor = Color . Transparent ;
133+ var foreColor = Color . Transparent ;
130134 if ( value )
131135 {
132136 tabBackColor = Color . FromArgb ( 24 , 24 , 24 ) ;
137+ foreColor = Color . FromArgb ( 192 , 192 , 192 ) ;
133138 UIStyles . SetStyle ( UIStyle . Black ) ;
134139 tabHome . BackColor = tabBackColor ;
135140 tabSetting . BackColor = tabBackColor ;
@@ -143,6 +148,7 @@ public void InitPdone()
143148 else
144149 {
145150 tabBackColor = Color . FromArgb ( 242 , 242 , 244 ) ;
151+ foreColor = Color . FromArgb ( 48 , 48 , 48 ) ;
146152 UIStyles . SetStyle ( UIStyle . Gray ) ;
147153 tabHome . BackColor = tabBackColor ;
148154 tabSetting . BackColor = tabBackColor ;
@@ -153,17 +159,40 @@ public void InitPdone()
153159 tabHome . ImageIndex = 0 ;
154160 tabSetting . ImageIndex = 2 ;
155161
162+ navTab . TabSelectedColor = tabBackColor ;
156163 navTab . TabSelectedForeColor = Color . FromArgb ( 140 , 140 , 140 ) ;
157164 navTab . TabSelectedHighColor = Color . FromArgb ( 140 , 140 , 140 ) ;
165+ navTab . TabBackColor = Color . FromArgb ( 222 , 222 , 222 ) ;
166+
158167 }
168+
169+ tbxAddress . FillDisableColor = tabBackColor ;
170+ tbxPort . FillDisableColor = tabBackColor ;
171+ tbxAddress . ForeDisableColor = foreColor ;
172+ tbxPort . ForeDisableColor = foreColor ;
173+
174+ tbxAddress . FillColor = tabBackColor ;
175+ tbxPort . FillColor = tabBackColor ;
176+ tbxAddress . ForeColor = foreColor ;
177+ tbxPort . ForeColor = foreColor ;
178+
159179 } ;
160180 #endregion
161181
162182 #region 切换tab事件
163183 navTab . SelectedIndexChanged += ( object sender , EventArgs e ) =>
164184 {
165-
166-
185+ switch ( navTab . SelectedIndex )
186+ {
187+ case 0 :
188+ Size = new Size ( 658 , 340 ) ;
189+ break ;
190+ case 1 :
191+ Size = new Size ( 658 , 470 ) ;
192+ break ;
193+ default :
194+ break ;
195+ }
167196 } ;
168197 navTab . SelectTab ( 0 ) ;
169198 #endregion
@@ -172,11 +201,14 @@ public void InitPdone()
172201 rbtnPx . SelectedIndex = setting . PXIndex ;
173202 rbtnMbps . SelectedIndex = setting . BitRateIndex ;
174203 rbtnMaxFPS . SelectedIndex = setting . MaxFPSIndex ;
204+ rbtnShortcuts . SelectedIndex = setting . ShortcutsIndex ;
175205 switchDarkMode . Active = setting . DarkMode ;
176206 tbxAddress . Text = setting . IPAddress ;
177207 tbxPort . Text = setting . Port ;
178- tbxAddress . Enabled = ! setting . UseWireless ;
179- tbxPort . Enabled = ! setting . UseWireless ;
208+ //tbxAddress.Enabled = !setting.UseWireless;
209+ //tbxPort.Enabled = !setting.UseWireless;
210+ updownHeight . Value = setting . WindowHeight ;
211+ updownWidth . Value = setting . WindowWidth ;
180212
181213 #region 复选框默认值
182214 cbxUseWireless . Checked = setting . UseWireless ;
@@ -190,12 +222,15 @@ public void InitPdone()
190222 cbxHideBorder . Checked = setting . HideBorder ;
191223 cbxFullScreen . Checked = setting . FullScreen ;
192224 cbxTopMost . Checked = setting . TopMost ;
225+ cbxShowTouches . Checked = setting . ShowTouches ;
226+ cbxReadOnly . Checked = setting . ReadOnly ;
193227 #endregion
194228
195229 #region 参数设置事件
196230 rbtnPx . ValueChanged += RbtnPx_ValueChanged ;
197231 rbtnMbps . ValueChanged += RbtnMbps_ValueChanged ;
198232 rbtnMaxFPS . ValueChanged += RbtnMaxFPS_ValueChanged ;
233+ rbtnShortcuts . ValueChanged += RbtnShortcuts_ValueChanged ;
199234
200235 cbxUseWireless . ValueChanged += CbxUseWireless_ValueChanged ;
201236 cbxUseLog . ValueChanged += CbxUseLog_ValueChanged ; ;
@@ -213,6 +248,17 @@ public void InitPdone()
213248 cbxHideBorder . ValueChanged += CommonCbx_ValueChanged ;
214249 cbxFullScreen . ValueChanged += CommonCbx_ValueChanged ;
215250 cbxTopMost . ValueChanged += CommonCbx_ValueChanged ;
251+ cbxShowTouches . ValueChanged += CommonCbx_ValueChanged ;
252+ cbxReadOnly . ValueChanged += CommonCbx_ValueChanged ;
253+
254+ updownHeight . ValueChanged += ( sender , e ) =>
255+ {
256+ setting . WindowHeight = updownHeight . Value ;
257+ } ;
258+ updownWidth . ValueChanged += ( sender , e ) =>
259+ {
260+ setting . WindowWidth = updownWidth . Value ;
261+ } ;
216262 #endregion
217263
218264 #endregion
@@ -222,7 +268,7 @@ public void InitPdone()
222268 if ( ! Directory . Exists ( scrcpyPath ) )
223269 {
224270 Directory . CreateDirectory ( scrcpyPath ) ;
225- File . WriteAllBytes ( scrcpyPath + tempFileName , Properties . Resources . scrcpy_win32_v1_17 ) ;
271+ File . WriteAllBytes ( scrcpyPath + tempFileName , Properties . Resources . scrcpy_win32_v1_18 ) ;
226272 if ( SharpZip . UnpackFiles ( scrcpyPath + tempFileName , scrcpyPath ) )
227273 {
228274 File . Delete ( scrcpyPath + tempFileName ) ;
@@ -236,19 +282,25 @@ public void InitPdone()
236282 #region 启动按钮
237283 btnStart . Click += ( sender , e ) =>
238284 {
239-
285+
240286 if ( setting . UseWireless &&
241287 ( string . IsNullOrWhiteSpace ( setting . IPAddress ) || string . IsNullOrWhiteSpace ( setting . Port ) ) )
242288 {
243289 UIMessageTip . ShowWarning ( sender as Control , "IP地址或者端口号没有填写,无法启动 -.-!" , 1500 ) ;
244290 return ;
245291 }
246292 LogHelper . Info ( "starting..." ) ;
247- var paramlist = $ " { setting . BitRate } { setting . PX } { setting . MaxFPS } { setting . OtherParam } ";
293+ var paramlist = $ " { setting . BitRate } { setting . PX } { setting . MaxFPS } { setting . Shortcuts } { setting . OtherParam } ";
248294 //设置屏幕高度 800
249- paramlist += "--window-height 800 " ;
250- //设置快捷键 左Crtl
251- paramlist += "--shortcut-mod=lctrl " ;
295+ if ( setting . WindowHeight > 0 )
296+ {
297+ paramlist += $ "--window-height { setting . WindowHeight } ";
298+ }
299+ if ( setting . WindowWidth > 0 )
300+ {
301+ paramlist += $ "--window-width { setting . WindowWidth } ";
302+ }
303+
252304 //设置标题
253305 paramlist += $ "--window-title \" { ledTitle . Text } \" ";
254306
@@ -276,7 +328,7 @@ public void InitPdone()
276328 UseShellExecute = false , //不使用操作系统使用的shell启动进程
277329 RedirectStandardOutput = true , //将输出信息重定向
278330 } ) ;
279-
331+
280332 this . Hide ( ) ;
281333 LogHelper . Info ( "scrcpy running..." ) ;
282334 LogHelper . Info ( scrcpy . StandardOutput . ReadToEnd ( ) ) ;
@@ -289,7 +341,6 @@ public void InitPdone()
289341 #endregion
290342 }
291343
292-
293344 private void CbxUseLog_ValueChanged ( object sender , bool value )
294345 {
295346 setting . UseLog = value ;
@@ -299,8 +350,38 @@ private void CbxUseLog_ValueChanged(object sender, bool value)
299350 private void CbxUseWireless_ValueChanged ( object sender , bool value )
300351 {
301352 setting . UseWireless = value ;
302- tbxAddress . Enabled = ! value ;
303- tbxPort . Enabled = ! value ;
353+ //tbxAddress.Enabled = !value;
354+ //tbxPort.Enabled = !value;
355+
356+ var foreColor = Color . Transparent ;
357+ var tabBackColor = Color . Transparent ;
358+
359+ var tempColor = Color . Transparent ;
360+ if ( setting . DarkMode )
361+ {
362+ tabBackColor = Color . FromArgb ( 24 , 24 , 24 ) ;
363+ foreColor = Color . FromArgb ( 192 , 192 , 192 ) ;
364+ }
365+ else
366+ {
367+ tabBackColor = Color . FromArgb ( 242 , 242 , 244 ) ;
368+ foreColor = Color . FromArgb ( 48 , 48 , 48 ) ;
369+ }
370+
371+ if ( setting . UseWireless )
372+ {
373+ tbxAddress . FillDisableColor = tabBackColor ;
374+ tbxPort . FillDisableColor = tabBackColor ;
375+ tbxAddress . ForeDisableColor = foreColor ;
376+ tbxPort . ForeDisableColor = foreColor ;
377+ }
378+ else
379+ {
380+ tbxAddress . FillColor = tabBackColor ;
381+ tbxPort . FillColor = tabBackColor ;
382+ tbxAddress . ForeColor = foreColor ;
383+ tbxPort . ForeColor = foreColor ;
384+ }
304385 }
305386
306387 private void TbxAddress_TextChanged ( object sender , EventArgs e )
@@ -336,6 +417,7 @@ private void CommonCbx_ValueChanged(object sender, bool value)
336417 setting . KeepAwake = value ;
337418 //保持唤醒与镜像模式不可同时启用
338419 setting . ReadOnly = ! value ;
420+ cbxReadOnly . Checked = ! value ;
339421 break ;
340422 case "全帧渲染" :
341423 command = setting . GetDesc ( "AllFPS" ) + " " ;
@@ -359,6 +441,10 @@ private void CommonCbx_ValueChanged(object sender, bool value)
359441 command = setting . GetDesc ( "TopMost" ) + " " ;
360442 setting . TopMost = value ;
361443 break ;
444+ case "显示触摸" :
445+ command = setting . GetDesc ( "ShowTouches" ) + " " ;
446+ setting . ShowTouches = value ;
447+ break ;
362448 }
363449 LogHelper . Info ( temp . Text + ":" + value ) ;
364450 if ( value )
@@ -371,6 +457,24 @@ private void CommonCbx_ValueChanged(object sender, bool value)
371457 }
372458 }
373459
460+ private void RbtnShortcuts_ValueChanged ( object sender , int index , string text )
461+ {
462+ switch ( index )
463+ {
464+ case 1 :
465+ setting . Shortcuts = "lctrl+lalt" ;
466+ break ;
467+ case 2 :
468+ setting . Shortcuts = "lalt" ;
469+ break ;
470+ default :
471+ setting . Shortcuts = "lctrl" ;
472+ break ;
473+ }
474+ setting . Shortcuts = $ "{ setting . GetDesc ( "Shortcuts" ) } ={ setting . Shortcuts } ";
475+ setting . ShortcutsIndex = index ;
476+ }
477+
374478 private void RbtnMaxFPS_ValueChanged ( object sender , int index , string text )
375479 {
376480 switch ( index )
@@ -469,18 +573,15 @@ public void DragWindow()
469573 }
470574 #endregion
471575
472- private void uiLinkLabel1_LinkClicked ( object sender , LinkLabelLinkClickedEventArgs e )
473- {
474- System . Diagnostics . Process . Start ( "https://baike.baidu.com/item/USB%E8%B0%83%E8%AF%95%E6%A8%A1%E5%BC%8F/5035286#2" ) ;
475- }
476-
477576 private void uiLabel2_Click ( object sender , EventArgs e )
478577 {
479578 Form shortcut = new Form ( )
480579 {
481580 AutoSize = true ,
482581 StartPosition = FormStartPosition . CenterScreen ,
483582 FormBorderStyle = FormBorderStyle . FixedToolWindow ,
583+ MinimizeBox = false ,
584+ MaximizeBox = false ,
484585 } ;
485586 shortcut . KeyPress += ( senderr , ee ) =>
486587 {
@@ -498,6 +599,11 @@ private void uiLabel2_Click(object sender, EventArgs e)
498599 shortcut . ShowDialog ( ) ;
499600 }
500601
602+ private void uiLinkLabel1_LinkClicked ( object sender , LinkLabelLinkClickedEventArgs e )
603+ {
604+ System . Diagnostics . Process . Start ( "https://baike.baidu.com/item/USB%E8%B0%83%E8%AF%95%E6%A8%A1%E5%BC%8F/5035286#2" ) ;
605+ }
606+
501607 private void uiLinkLabel2_Click ( object sender , EventArgs e )
502608 {
503609 if ( UIMessageBox . Show ( "1、使用数据线将手机连接电脑\n 2、手机开启调试模式\n 3、程序将使用adb tcpip 5555命令修改无线调试端口号\n 4、点击确定后若看到一只狗头,则表示设置端口号成功" , "请确认" , setting . DarkMode ? UIStyle . Black : UIStyle . Gray , UIMessageBoxButtons . OKCancel , false ) )
@@ -514,6 +620,11 @@ private void uiLinkLabel2_Click(object sender, EventArgs e)
514620 }
515621 }
516622 }
623+
624+ private void uiLinkLabel3_LinkClicked ( object sender , EventArgs e )
625+ {
626+ System . Diagnostics . Process . Start ( "https://github.com/pdone/FreeControl/issues" ) ;
627+ }
517628 }
518629
519630 public static class Utilitys
0 commit comments