PDA

View Full Version : سوال: اطلاع از وضعیت windows media player



fotrosi
یک شنبه 29 اردیبهشت 1387, 23:57 عصر
با سلام خدمت دوستان.
من نیاز دارم که از درون برنامه ام بتونم حالت windows media player را بفهمم یعنی اینکه بدونم که در کدام حالت play , pause , stop قرار دارد.
لطفاً در این مورد کمکم کنید.

ASKaffash
دوشنبه 30 اردیبهشت 1387, 08:01 صبح
با سلام
مانند مثال ذیل:
private void timer1_Tick(object sender, EventArgs e)
{
this.Text = this.axMediaPlayer1.PlayState.ToString();
}

fotrosi
دوشنبه 30 اردیبهشت 1387, 09:18 صبح
با تشکر به خاطره جوابتون ولی منظور من خود windows media player است نه کنترلش که به فرم اضافه می کنیم !!! جواب شما برای وقتی است که کنترل media player را به فرم خود اضافه می کنیم.
در واقع من با تابع sendmessage به ویندوز مدیا پلیر فرمان play/pause را می فرستم ولی می خوام قبل از فرستادن این فرمان از حالت play/pause/stop مدیا پلیر با خبر باشم و وقتی در حال play است بیخودی pause اش نکنم.

ASKaffash
دوشنبه 30 اردیبهشت 1387, 10:22 صبح
با سلام دوست عزیز
میتوانید یک قطعه از کد قرار دهید؟

fotrosi
دوشنبه 30 اردیبهشت 1387, 19:40 عصر
بخشی از کد را در زیر آوردم


case remote.mediaPlayer:
hWnd = obtainWindowHandle("Windows Media Player");
if (hWnd == IntPtr.Zero)
MessageBox.Show("Windows Media Player Not Found!" + Environment.NewLine + "You must run the application first. ", "Error : ", MessageBoxButtons.OK, MessageBoxIcon.Error);
else
{
Win32.WindowPlacement wp = new Win32.WindowPlacement();
wp.length = System.Runtime.InteropServices.Marshal.SizeOf(wp);
bool x = Win32.GetWindowPlacement(hWnd, ref wp);
if (wp.showCmd == 2)
{
Win32.ShowWindow(hWnd, 3);//maximize the window, 2 minimize , 1 normal
win Win32.SetForegroundWindow(hWnd);
}
else
{
Win32.SetForegroundWindow(hWnd);
}
Win32.SendMessage(hWnd, (int)Win32.WindowMessages.WM_COMMAND, (IntPtr)0x4978, IntPtr.Zero);
}
break;


در نهایت من یک فرم ویندوزی با یک button و یک lablel می خوام که هر موقع button را فشردی حالت windows media player در label نشان داده شود. این حالت یکی از 3 مقدار play / pause / stop باشد کفایت می کند. با تشکر.