ymessages.cs

来自「一个通用的数据库访问层」· CS 代码 · 共 61 行

CS
61
字号
using System;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace YariSoft.Utils
{
	public enum WinMessages { 
		WM_APP = 0x8000, 
		WM_AGENT_ACTION
	}; 

	public class YMessages
	{
		#region Constructor/Destructor
		public YMessages()
		{
		}
		#endregion

		#region Public functions
		[System.Runtime.InteropServices.DllImport("user32.dll")] 
 		static extern bool SendMessage(IntPtr hWnd, WinMessages msg, int wParam, int lParam); 

		static public DialogResult Show ( string Text, string Caption, MessageBoxButtons Buttons, MessageBoxIcon Icon )
		{
			try{
				Utils.AgentPlayer.MovieTypeEnum MovieType = Utils.AgentPlayer.MovieTypeEnum.Error; 
				switch( Icon ){
					case MessageBoxIcon.Question:
						MovieType = Utils.AgentPlayer.MovieTypeEnum.Question;
						break;
					case MessageBoxIcon.Error:
						MovieType = Utils.AgentPlayer.MovieTypeEnum.Error;
						break;
					default:
						YariSoft.Utils.YMessages.Show( "Undefined type of dialog message!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop );
						break;
				}

				System.Diagnostics.Process Process =  System.Diagnostics.Process.GetCurrentProcess();
				SendMessage( Process.MainWindowHandle, WinMessages.WM_AGENT_ACTION, 0, (int)MovieType ); 
			} catch {
			}
			return MessageBox.Show( Text, Caption,  Buttons, Icon );
		}

		static public void ChangeCursor ( Cursor Cursor )
		{
			System.Diagnostics.Process Process =  System.Diagnostics.Process.GetCurrentProcess();
			
			if( Cursor == Cursors.WaitCursor ){
				SendMessage( Process.MainWindowHandle, WinMessages.WM_AGENT_ACTION, 0, (int)Utils.AgentPlayer.MovieTypeEnum.Busy ); 
			}
			if( Cursor == Cursors.Default ){
				SendMessage( Process.MainWindowHandle, WinMessages.WM_AGENT_ACTION, 0, (int)Utils.AgentPlayer.MovieTypeEnum.DefPosition ); 
			}
		}
		#endregion
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?