SQL Server Profiler is only a graphical interface to show all the events handled by SQL Trace API. It is possible to start and capture trace data through SQL stored procedures and .Net code. Here is two examples on how to do it. It isa bit old, but I have managed to start sql trace throm .net code following the instructions.
http://blogs.msdn.com/b/sqlprogrammability/archive/2006/05/26/receiving-profiler-events.aspx
Here is a list of stored procedures that are executed by the profiler to start the trace. You can allways run them directly. http://technet.microsoft.com/en-us/library/ms187346.aspx