According to this http://www.cplusplus.com/reference/clibrary/csignal/signal.html
SIGINT is generally used/cause by the user. How do i cause a SIG
What other way are you thinking of? The kill() function is the only way the kernel offers to programmatically send a signal.
Actually, you mentioned you were using Windows. I'm not even sure what kill() does on Windows, since Windows doesn't have the same signal architecture that Unix-derived systems do. Win32 does offer the TerminateProcess function, which may do what you want. There is also the GenerateConsoleCtrlEvent function, which applies to console programs and simulates a Ctrl+C or Ctrl+Break.