This work obtains truthful mechanisms that aim at maximizing both the revenue and the economic efficiency (social welfare) of unit-demand auctions. In a unit-demand auction a set of k items is auctioned to a set of n consumers, and although each consumer bids on all items, no consumer can purchase more than one item. We present a framework for devising polynomial-time randomized truthful mechanisms that are based on a new variant of the Vickrey-Clarke-Groves (VCG) mechanism. Instead of using reserve prices, this variant of VCG uses the number of objects that we wish to sell as a parameter. Our mechanisms differ in their selection of the number of items to be sold, and allow an interesting trade-off between revenue and economic efficiency, while improving upon the state-of-the-art results for the Unit-Demand Auctions problem (Guruswami et. al.[SODA 2005]). Our probabilistic results depend on what we call the competitiveness of the auction, i.e., the minimum number of items that need to be sold in order to obtain a certain fraction of the maximum efficiency. We denote by T the optimal efficiency achieved by the VCG mechanism. Our efficiency-oriented mechanism achieves S?(T) efficiency and Omega(T,ln(min{k, n}) revenue with probability that grows with the competitiveness of the auction. We also show that no truthful mechanism can obtain an omega(T/ln(min{k,n}) expected revenue on every set of bids. In fact, the revenue-oriented mechanism we present achieves Omega(T/ln(min{k,n}) efficiency and Omega(T/ln(min{k,n}) revenue, but the revenue can actually be much higher, even as large as Q(T) for some bid distributions.