Here are the answers to your question:
- If we store anything in clipboard then I want no other application will be able to read my data from clipboard. is it possible? The clipboard, by design is a mechanism for transferring data based on user's command, so the user can access the same data in another application. Considering the following facts as per documentations:
- The clipboard is a set of functions and messages that enable applications to transfer data. Because all applications have access to the clipboard, data can be easily transferred between applications or within an application.
- The clipboard is user-driven. A window should transfer data to or from the clipboard only in response to a command from the user. A window must not use the clipboard to transfer data without the user's knowledge.
If it's something just for your application, you can just keep it your application memory, or in a storage which belong to your application. - Why people use STA threading model when store data into clipboard? As per documentations: The Clipboard class can only be used in threads set to single thread apartment (STA) mode.
- Why we need to call Thread.Join() after Thread.Start() The purpose of Join as per documentation: Blocks the calling thread until the thread represented by this instance terminates, while continuing to perform standard COM and SendMessage pumping.