Witam,
mam taki problem, że w mojej zabawnej aplikacji definiuje sobie skrót globalny jako kombinacja ctrl+c. Chce, zeby po nacisnieciu ctrl+c na jakims obszarze z zaznaczonym tekstem, tekst ten po skopiowaniu sie do bufora zostal nastepnie przeniesiony do mojej aplikacji. Zrobilem w uproszczeniu cos takiego w formularzu:

zarejestrowalem kombinacje klawiszy ctrl+c

RegisterHotKey(this.Handle, this.GetType().GetHashCode(), 2, 67);

natomiast funkcja WndProc wyglada nastepujaco:

protected override void WndProc(ref Message m)
      {
          if (m.Msg == 0x0312)
          {
              IDataObject iData = System.Windows.Forms.Clipboard.GetDataObject();
              if (iData.GetDataPresent(DataFormats.Text) || iData.GetDataPresent(DataFormats.Text))
              {
                  String text = (String)iData.GetData(DataFormats.Text);
                  m_tbPhase.Text = text;
                  this.Activate();
              } 
          }
          base.WndProc(ref m);
      }

no i nie dziala to tak jak powinno, gdyz po nacisnieciu ctrl+c moj hotkey dziala w mojej aplikacji, ale jego naturalna windowsowa funkcjonalnosc juz nie istnieje i do mojego formularza kopiuje sie to co bylo juz w buforze, jakis wczesniejszy smiec. Jesli za pomoca myszki skopiuje jakis takst a nastepnie nacisne ctrl+c to bedzie prawidlowo, bo myszka wczesniej skopiowala do bufora zadany tekst, ale zalezy mi na tym zeby kombinacja ctrl+c robila jedno i drugie: kopiowanie tekstu, a nastepnie aktywowanie aplikacji i wklejanie do niej zawartosci swiezo wypelnionego bufora skopiowanym tekstem.

Moze mi ktos powiedziec jak to naprawic?
Dzieki z gory.