Diskuze: Schránka
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 4 zpráv z 4.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Koukni na třídu Clipboard: http://msdn.microsoft.com/…ipboard.aspx
To jsem již viděl - proto píši sem... Hold to budu muset udělat pro každý typ zvlášť. A spokojil jsem se s přetahováním do programu (schránku jsem tedy vzdal)...
using System.Runtime.InteropServices;
using System.Windows.Forms;
using System;
namespace Hiproar
{
class ClipboardHandler : Form
{
IntPtr nextClipboardViewer;
public ClipboardHandler()
{
nextClipboardViewer = (IntPtr)SetClipboardViewer((int)this.Handle);
}
[DllImport("User32.dll")]
protected static extern int SetClipboardViewer(int hWndNewViewer);
[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern bool ChangeClipboardChain(IntPtr hWndRemove, IntPtr hWndNewNext);
[DllImport("user32.dll", CharSet = CharSet.Auto)]
public static extern int SendMessage(IntPtr hwnd, int wMsg, IntPtr wParam, IntPtr lParam);
protected override void WndProc(ref Message m)
{
const int contentChange = 0x308, chainChange = 0x030D;
switch (m.Msg)
{
case contentChange:
DisplayClipboardData();
SendMessage(nextClipboardViewer, m.Msg, m.WParam, m.LParam);
break;
case chainChange:
if (m.WParam == nextClipboardViewer)
nextClipboardViewer = m.LParam;
else
SendMessage(nextClipboardViewer, m.Msg, m.WParam, m.LParam);
break;
default:
base.WndProc(ref m);
break;
}
}
void DisplayClipboardData()
{
System.Windows.Forms.MessageBox.Show(":)");
}
}
}
A data jsem dostal přes FileDrop formát...
Zobrazeno 4 zpráv z 4.