开车
can actually be seen as a "verb-object" phrase, causing it sensible to add 过
between them.
This also applies to:
- 我开着车 ~ (while) I am driving a car
- 我开了车 ~ I drove a car
- 我开不了(liǎo)车 ~ I am not able to drive a car
关上
and 打开
are "verb-complement" phrase, which uses different rules.
- 关上了 ~ closed
- 关不上 ~ be not able to close
- (seems no
be doing
like form, just add 正在/在 before them)
There might be exceptions but I am not able to give a list. However, you can refer to the dictionary for it. As per 《现代汉语词典》(第6版) (The Contemporary Chinese Dictionary, 6th edition), 凡例 (guide) 3.6, roughly translated:
some multi-syllable items contains double slash //
in the phonetic notation, e.g.: 【结婚】jié//hūn…… , indicates that it can have other syntactical elements inserted there. If some meanings can but other meanings cannot, those that can have other syntactical elements will have (-//-)
symbol after their indices.
3.7 introduces //·
symbol indicates that there can be other syntactical elements, but the pronunciation should be changed. Without other elements, the latter syllables should be pronounced as unstressed ones. With other elements, the latter syllables should be stressed ones.