想用VC做一个写卡上位机解决思路

想用VC做一个写卡上位机
是这样的,我在做一个写卡程序,之前用MSComm控件写了一个,但是可能由于我的思路不对,这个程序不稳定,有时候发命令会出错;现在向大神们求一个思路,怎样实现点击一个按钮,让所有操作都在程序中执行,并把信息写入卡中。

写卡过程:寻卡----------------->
                    返回数据<-----------
                    防冲突-------------->
                    返回数据<-----------
                    选卡------------------>
                    返回数据<-----------
                                    :
                                    :
                                    :


我想把这些过程都隐藏,只点击一个按钮,然后把所有过程都执行完,求大神指点。
------解决思路----------------------
一个按钮完成全部操作是可以的。
建议将操作的各个步骤,写成不同的函数
------解决思路----------------------
假设有如下函数
int SearchCard();
int WaitReturn();
int AntiComp();
int SelectCard();

线程中依次调用:
SeachCard();
WaitReturn();
AntiComp();
WaitReturn();
SelectCard();
WaitReturn();